浅谈keil中库函数和寄存器关系.docVIP

  • 1
  • 0
  • 约3.61千字
  • 约 4页
  • 2023-10-28 发布于湖南
  • 举报
浅谈keil中库函数和寄存器关系 评述:在一个 芯片系统里, uart的驱动是 厂商自己写好的,那他们是怎么关联printf到uart的呢?有人说,printf最终是调用了putchar,我搜索了源码,没有这个函数,估计是开发工具,像 KeilC u3,里面已经集成了putchar。于是我奇怪,这个工具怎么知道厂商哪个函数时uart的,有没有命名规则要求?好像没有,看了下面的讨论,估计是通过UART的收发 寄存器来关联的。我猜想应该是在某个地方,keilc关联了系统的寄存器列表,找到了串口的寄存器的地址,然后putchar操作该寄存器,就相当于操作了厂商或者 开发者自定义的uart_wri te_byte.uart_re ad_byte. 所以在keilc里,别人写好的系统,可以直接调用printf输出。我觉得要弄明白,得研究下keil是怎么处理库函数和寄存器的关系的。 关于putchar函数,估计printf是通过 就是在你配置完串口的时候首先写一个数到SBUF寄存器中然后在用printf函数打印就可以,当让这个顺序是不可以变的,如果你想在追问细节为什么,我只能告诉你这应该是开发环境决定的,这一点我就理解这么多,如果有大侠给出更好的解释我也一起共勉。 其实也不用首先写一个数据到SBUF寄存器,只需在串口初始化后,加上一句 TI=1;即可。原因

文档评论(0)

1亿VIP精品文档

相关文档