MSP430串口调试全记录.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MSP430串口调试全记录

MSP430串口调试全记录 先交代一下相关背景: Mcu型号:MS9430F149; 实验板:自制(有些毛病,稍后坦白:) 开发环境:IAR Embedded Workbench V2.10A+串口调试助手; 试验仪器:泰克数字示波器,万用表等; 笔者的底细:马上步入而立之年,学习点新东西,已感到有些力不从心了:)以前有些51基础,430是第一次搞!当然这些都是业余爱好,以乐以闹为主:) PCB以前倒是做过一些,不过都是51的简单板子,线也少,在protel99se下自动布线后再手动调整一下就蒙混过关,作出的板子虽然不太漂亮但也勉强实现功能,呵呵。这次做这块430实验板完全手动布线,大约做了两天,眼睛都花花了:(等到拿到板子一调试发现还是有几处粗心大意的地方,无奈只能飞线:( 转入正题吧,开始串口的收发数据调试: 找了根现成的串口线,和pc连接好,并设置好《串口调试助手》参数,如图。运行,没反应,一模MAX3232有些烫手,赶紧关闭电源,停止!经仔细检查发现9针串口DB9封装错了,应该是DB/M我用的是DB/F一个公头一个母头线序不一样,补救措施:将串口拆下来焊接在底层(Bottom Layer)正好就对应上了,不过当时DB9焊的賳结实,拆下来太困难,于是自己找了两个串口母头和一段线自己做一根串口线,有了前车之鉴这次特别小心别2、3对调,做好后又反复测了几次,没问题了,接好进行二进宫! 接上实验板用示波器测串口的2、3脚(RS232电平)没有波形,拔下来直接测有波形,将2、3短接串口调试助手接收区显示发送的内容,没问题。如此一看可能是板子上的MAX3232刚才被烧毁了,拨拉下来再来一片新的,有波形了,但还是没达到设计要求。 用示波器测430的串口1的TXD1端(P3.6)发现没有波形,看来根本没启动串口发送程序,将程序(▲)修改再测,恩不错有波形了经过MAX3232后也有波形了,按常理说这时应该在串口调试助手接收区显示接收内容了,但是让人崩溃的是依旧没有:( 以为是MAX3232的硬件(包括4个电容,典型值是0.1uF,当时没找到0.1的就用4.7uF的代替了)出问题了,或者是RS232判决电平的毛病,这时在网上搜到了如下资料: MAX232/MAX202接口输出的电平为何比计算机输出的RS-232电平低? 由于计算机内部的RS-232接口多数采用±12V供电的接口芯片,而MAX232/MAX202及其它多数Maxim的RS-232接口都是采用单电源(+3.3V或+5V)供电,由内部的电荷泵电路(倍压和倍压反相两种方式)产生接口所需的电源,这样就简化了电源设计。由于工作在倍压和倍压反相的电荷泵输出电压最高为±2×Vin(空载时),且带载能力有限,不管怎样,多数Maxim接口驱动器还是能够保证幅值在±5V以上,以满足RS-232接口端±3V的接收门限值。 没问题啊,我测到的波形在±6V左右啊,正在一筹莫展之际,想到了波特率是否一致的问题,从示波器观察PC发给430的1Bit数据的宽度约100us,频率f=10k和设定的9600非常接近,没问题;在测430发给PC的1Bit数据宽度为6.4us,频率f=156250,于是发现问题所在,重新检查源程序时钟源选择,发现程序(▲2)的疏忽,更改后,一切ok,再看串口调试助手接收区正反复的显示“MSP430 MSP430 MSP430 MSP430…” #include msp430x14x.h void init_system(void); void init_UART(void); void transmit_data(void); char Data[6]=MSP430; //char Data[6]={0xff,0xff,0xff,0x55,0xff,0xff}; void main(void) { init_system(); while(1) { transmit_data(); } } void init_system(void) { WDTCTL=WDTPW+WDTHOLD; init_UART(); } void init_UART(void) { //P3SEL|=UART1_TX+UART1_RX; P3SEL|=0xc0; P3DIR |= 0x40; // 串口发送数据端口为输出,接收数据端口为输入? UCTL1=SWRST; //reset cotrol bit in UCTL1 ? //UTCTL0|=SSEL0; //ACLK (▲2) UTCTL1|=SSEL0; //ACLK UBR01=0x03; //bode rate 9600. UBR11=0x00; UMCTL1=0x4a; UCTL1=CHAR; //8 bits data format.

文档评论(0)

f8r9t5c + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档