找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 1768|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

MSP430實(shí)現(xiàn)串口通訊

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:277304 發(fā)表于 2018-1-18 11:15 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
MSP430實(shí)現(xiàn)串口通訊,uart代碼部分

單片機(jī)源程序如下:
  1. #include <MSP430x14x.h>
  2. #include "df_uart.h"
  3. #include "packet.h"
  4. #include "protocol.h"

  5. #define USART_DIR P3DIR
  6. #define USART_SEL P3SEL
  7. #define USART_IN  P2IN
  8. #define USART_OUT P3OUT
  9. #define UTXD0     BIT4
  10. #define URXD0     BIT5

  11. void UartInit()
  12. {
  13.     //設(shè)置管腳為第二功能
  14.     USART_SEL |= UTXD0 + URXD0;
  15.     //8位數(shù)據(jù),1位停止位,奇校驗(yàn)
  16.     UCTL0 = CHAR + PENA + SWRST;
  17.     //選擇UCLK = ACLK
  18.     UTCTL0 = SSEL0;
  19.     //設(shè)置波特率為9600bits/s
  20.     UBR00 = 0x3;
  21.     UBR10 = 0;
  22.     UMCTL0 = 0x4A;
  23.     UCTL0 &= ~ SWRST;
  24.     //打開模塊USART0
  25.     ME1 |= UTXE0 + URXE0;
  26.     //打開USART0接收中斷
  27.     IE1 |= URXIE0;
  28. }

  29. void SendUart(unsigned char *pBuffer, unsigned char n_byte)
  30. {
  31.     unsigned char q0;
  32.     for(q0 = 0; q0 < n_byte; q0++)
  33.     {
  34.         //判斷是否發(fā)送完畢
  35.         while((IFG1 & UTXIFG0) == 0);
  36.         TXBUF0 = *pBuffer;
  37.         pBuffer++;
  38.     }
  39. }

  40. #pragma vector = USART0RX_VECTOR
  41. __interrupt void Usart0Rx()
  42. {
  43.     if((U0RCTL & RXERR) == 0)
  44.     {
  45.         AddUsData(RXBUF0);
  46. ……………………

  47. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載:
uart.rar (921 Bytes, 下載次數(shù): 9)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表