单片机/MCU论坛
直播中

夏工

7年用户 4经验值
私信 关注
[讨论]

MSP430G2553开发板实例中UART-sendbyte的解读

       我在学习MSP430G2553是看到的有关这个程序给自己留个记号      上面实例的RUN流程:(接收端)
1.接受到来自PC端的ACSII数据  
2.进入__interrupt void USCI0RX_ISR(void)(读取到UCA0RXBUF寄存器为满时);中断并清除标志位IFG2&=~UCA0RXIFG; (凡是中断标志位有可能不被自动清除的,均手动清除一次,以防万一)
3.进入处理数据函数UART_OnRx();
4.定义一个变量Temp=0用来存储UCA0RXBUF寄存器中接收到的一个8位数据
5.判断Temp是否为回车符(r),是否退格删除数据   都不是情况下 把Temp发送给UCA0TXBUF并且把数据存到Rx_FIFO[Rx_FIFO_IndexW]数组中,以便之后调用这些接收到的数据
          (发送端)
1.进入__interrupt void USCI0TX_ISR(void)(读取到UCA0TXBUF寄存器为空时);中断并清除标志位IFG2&=~UCA0RXIFG; (凡是中断标志位有可能不被自动清除的,均手动清除一次,以防万一)
2.进入处理数据函数UART_OnTx();
3.先定义一个Temp,利用Tx_FIFO_ReadChar(&Temp);函数到 Tx_FIFO[TX_FIFO_SIZE]数组中寻找需要发送的数据。
4.UCA0TXBUF= Temp;把确定发送的数据存到寄存器中,单片机自动发送,等待下一次中断(第一步骤)。

更多回帖

发帖
×
20
完善资料,
赚取积分