×
单片机 > 单片机程序设计 > 详情

MSP430F413利用Timer_A做一个虚拟串口详解

发布时间:2020-05-16 发布时间:
|

HT824按键板与主板之间采用串口通信的方式,在做高低温试验时候,经常出现无法通信问题。使用示波器追踪通信波形,发现波特率在温度变化时候发生了变化。理论上不应该变化的,使用的delay_us()函数。感觉不妥,打算使用定时器去做一个收发串口。之前做过曼彻斯特解码,比这个复杂。串口的还是第一次做,因为一般的MCU上都有这个外设。

 

参照了TI的官方历程,采用比较捕获的方式。413有3个定时器,带着3个比较捕获模块。32K的外部晶振,DCO输出1M的MCLK。了解了串口的方式就可以模拟了。串口是第一位是起始位,为低电平。后面8位是数据位,采用地位在前的方式。最后2位或1位是停止位,高电平。

 

数据发送时候,设置起始位,定时器比较器+1位的时间,打开中断,在中断中进行数据的变化。每次中断,定时器比较器都会加上1位的时间,这样下次中断就是等时的了。直到数据发送完成,关闭中断。

 



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
51单片机CO2检测显示程序解析