MSP430F5438A的串口
设置串口,最关键的是波特率的设置,推荐一个网站,很方便地计算波特率,http://software-dl.ti.com/msp430/msp430_public_sw/mcu/msp430/MSP430BaudRateConverter/index.html
1 P3SEL |= (BIT4 + BIT5); // P3.4,5 = USCI_A0 TXD/RXD 2 UCA0CTL1 |= UCSWRST; // **Put state machine in reset** 3 UCA0CTL1 |= UCSSEL_2; // CLK = SMCLK 4 UCA0BR0 = 26; // 24MHz/57600=26,1,0,1 5 UCA0BR1 = 0; // 6 UCA0MCTL = UCBRF_1+UCBRS_0+UCOS16; // Modulation UCBRSx=0, UCBRFx=0,UCOS16 = 1 7 UCA0CTL1 &= ~UCSWRST; // **Initialize USCI state machine** 8 UCA0IE |= UCRXIE; // Enable USCI_A0 RX interrupt
#pragma vector=USCI_A0_VECTOR __interrupt void USCI_A0_ISR(void) { switch(__even_in_range(UCA0IV,4)) { case 0:break; case 2:break; case 4:break; default:break; } }
关键就是UCA0IV 寄存器,通过看文档得知,这是 USCI_Ax Interrupt Vector Register,具体功能如下:
00h = No interrupt pending,0是无中断
02h = Interrupt Source: Data received; Interrupt Flag: UCRXIFG; Interrupt
Priority: Highest,2是数据接收触发中断
04h = Interrupt Source: Transmit buffer empty; Interrupt Flag: UCTXIFG;
Interrupt Priority: Lowest,4是数据发送中断
经常使用的是接收中断,没用过发送中断
分类:
msp430F5438A
标签:
msp430f5438a
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律