完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
本人初学单片机,串口通信部分,书上的例子不是很懂。希望各位能给我讲讲下面这个程序中
1.两个中断分别怎么进入? 2.传输数据的过程是什么样的? 3.IFG1 &= ~UTXIFG0; 为什么要这步?为什么将发送中断标志清0?为什么不清接收中断标志? /* MSP430串口0实现双向串口通信,在接收中断接收一个长度为8的字符串,在整个字符串 接收完之后再将其通过串口发送出去。UCLK0为1MHz的ACLK,波特率为9600,8为数据位 */ #include "io430.h" #include "in430.h" static char string1[8]; char i; char j=0; void main( void ) { // Stop watchdog timer to prevent time out reset WDTCTL = WDTPW + WDTHOLD; P3SEL = 0x30; ME1 |= UTXE0 + URXE0; UCTL0 |= CHAR; UTCTL0 |= SSEL0; UBR00 = 0x03; UBR10 = 0x00; UMCTL0 = 0x4A; UCTL0 &= ~SWRST; IE1 |= URXIE0 + UTXIE0; IFG1 &= ~UTXIFG0; //清除POR造成的UTXIFG0置位 _BIS_SR(LPM3_bits +GIE); } #pragma vector = UART0TX_VECTOR __interrupt void usart0_tx(void) { if(i < sizeof string1) TXBUF0 = string1[i++]; } #pragma vector = UART0RX_VECTOR __interrupt void usart0_rx(void) { string1[j++] = RXBUF0; if(j > sizeof string1 - 1) { i = 0; j = 0; TXBUF0 = string1[i++]; } } |
|
相关推荐 |
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
使用Keil建立完整的工程,并使用外部中断0触发数码管显示903
151 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-使用AHT20进行环境监测之AHT20传感器介绍
1043 浏览 0 评论
836 浏览 0 评论
874 浏览 1 评论
基于瑞萨FPB-RA4E2智能床头灯项目——1编译环境搭建与点亮驱动ws2812全彩LED
869 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11824 浏览 31 评论
浏览过的版块 |
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-30 00:53 , Processed in 0.577200 second(s), Total 73, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号