【ALTERA AX301 FPGA开发板试用体验】+串口发送程序改进与经...

  • @曲终人散@
  • LV5工程师
  • |      2017-11-27 21:37:03
  • 浏览量 974
  • 回复:0
这贴先说说对程序的改进,最主要的是分享一下从中汲取的经验教训 首先,在程序上进行了模块的设计,不再是把所有的东西都堆在一个文件里,这样可以提高模块的复用性。 这次的程序分为两个部分,一个是波特率时钟产生模块,另一个就是串口发送模块 波特率时钟模块如下: 之后就是利用这个时钟来发送数据,利用这个时钟就不用向上一次一样每次时钟上升沿到来后都得判断是否到了要发送数据的时候了, 这次只需要每次在时钟到来时发送就行了,然后把状态变成下一个状态,一直到发送完停止位进入空闲状态为止发送完一帧数据, 程序框架如下: 这次跟上次相比只用到了四个状态,完全是按照串口通信协议状态设置的,结构非常清晰。 下面就是重点了,这个程序我调试了很长时间一直找不到错误,最后发现只有在程序初始执行的时候正确,也就是只能正确的发送一帧数据,这证明程序本身应该没有大的问题,因为毕竟第一个数据是可以发送成功的,说明第一次发送成功之后有些小的部件出现了问题,在反复的查看之后发现,是在发送完第一个数据之后忘了对其中的一个中间值进行再次清零了,这才导致只有第一次使用的时候才是正确的。 总结一句话:细节决定成败
  • 0
  • 收藏
  • 举报
  • 分享
我来回复

登录后可评论,请 登录注册

所有回答 数量:0
x
收藏成功!点击 我的收藏 查看收藏的全部帖子