HardBirch

MSP430FG439上实现IO模拟UART以及移植要点解析

时间:10-01-08 栏目:安卓入门与提高 作者:张飞不张,文采横飞 评论:2 点击: 1,783 次

      最近要做MSP430上的开发,一上手就要做IO模拟UART这种难度的玩意,幸好网上已经有很多现成的MSP430的软串口实现例子,本文代码大部分参考
>
http://www.microcontrol.cn/430base.htm上的《MSP430的Timer_A实现模拟串口功能例程》,并且成功移植到MSP430FG439之上,不过移植的过程有点匪夷所思。。。。由于才学430没几天,所以花了一周才调试出IO模拟UART。。。。


接下来就贴上100%能在MSP430FG439上使用的代码(即使是同一Family的不同型号,也会有区别):
























































































































由于网上的MSP430例程都几乎一致(都是出自TI的例程),并且大体思路没有错误(不同型号之间的设置会有变化),所以接下来介绍一下初学者移植时也许遇到的问题:

1.这里用了有特殊功能的IO脚,所以一定要对照芯片资料来确定自己所用的430对应功能在哪个IO上;

2.重点:要清楚串口帧的格式,这里用到的是10位:(0)XXXXXXXX(1),0开头,1结尾。

很多移植上的问题都是由此引起:

(1)由于发送时,从低位开始,即从1先开始发送,0最后发送,所以XXXXXXX要掉转一次(T_DATA=255-byte;);

(2)由于未知其他寄存器对TXD的影响,发送首帧时也许会出错,所以真正判断是否发送成功要从第二针开始(txd(0XFF););

(3)接收的时候,也容易受到帧格式的影响。。。。网上的例程都是用下降沿(CM1),但RXD脚收到帧的第一位却是1,最后一位是0(正如前面所说的低位先发),所以改为CM0上升沿就可以收到了,收到的次序是1XXXXXXX0,XXXXXXX也要掉转一次(R_DATA=255-R_DATA;)才能还原源数据。

声明: 本文由( 张飞不张,文采横飞 )原创编译,转载请保留链接: MSP430FG439上实现IO模拟UART以及移植要点解析

MSP430FG439上实现IO模拟UART以及移植要点解析:目前有2 条留言

  1. 板凳
    匿名用户:

    一般般

    2010-01-09 11:56 [回复]
  2. 沙发
    lankuaker:

    你这程序在其他型号的上面可以移植成功.
    有一点想请教一下:几十个字节的接收在你这程序里,怎么处理呢

    2011-06-21 15:34 [回复]

发表评论


QQ群互动

Linux系统与内核学习群:194051772

WP建站技术学习交流群:194062106

魔豆之路QR

魔豆的Linux内核之路

魔豆的Linux内核之路

优秀工程师当看优秀书籍

优秀程序员,要看优秀书!

赞助商广告

友荐云推荐