Microchip
直播中

陈炜

7年用户 213经验值
私信 关注
[问答]

PIC16F877A软件UART没有9600波特率

亲爱的,在我需要的双UART在PIC16F877 A中。我用MPLAX X和MPLAB XC8编译器编写了一个软件UART的代码,该代码完美地工作了1200波特,但是没有9600波特的Read,我使用NeDe.xTala= 110592MHz。附上代码。它的波特率是9600?谢谢——TS9

回帖(6)

王焕树

2019-11-4 10:41:25
您的代码都假定所有东西都以无限的速度运行(延迟例程除外)。您运行的越快,情况就越不真实。特别是,非常量值的移位可能需要很长时间,所以这些指令相对比较慢:您最好将代码重新排列为shif:在每个循环中累加器或位掩码为一位。您可能仍然需要稍微降低延迟以获得正确的定时。使用定时器中断,并在每个中断服务中处理一位会更好。
举报

张丽

2019-11-4 10:53:12
从DigiKey上看,PIC16F877A的当前数量单价是5.09美元,PIC16F15375是1.57美元,在PIC16F877A中实现位键UART是没有意义的。你在为任何现实世界的项目浪费生命和金钱。如果这是某种教育类的作业,请这么说。把你所有的课程资料私下邮寄给我,我会帮你完成作业。30年前PIC16F877A是一款很好的微控制器。30年前,有很多好车没有安全气囊和三点式安全带,但是你想在今天发生一起交通事故吗?所以用PIC16F15375替换你的微控制器1/3的成本,它有2个真正的UART,它使用相同的引脚输出。你没有借口了。继续前进。
举报

王焕树

2019-11-4 10:58:44
完全同意丹的观点。二十年前我在PIC16F877 A上剪了牙,但现在它们只用于受虐狂。
举报

tijing忽忽

2019-11-4 11:04:54
学术界的人真的需要更新他们的课程材料…
举报

更多回帖

发帖
×
20
完善资料,
赚取积分