找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1460|回复: 0
打印 上一主题 下一主题
收起左侧

MSP430实现串口通讯

[复制链接]
跳转到指定楼层
楼主
ID:277304 发表于 2018-1-18 11:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
MSP430实现串口通讯,uart代码部分

单片机源程序如下:
  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.     //设置管脚为第二功能
  14.     USART_SEL |= UTXD0 + URXD0;
  15.     //8位数据,1位停止位,奇校验
  16.     UCTL0 = CHAR + PENA + SWRST;
  17.     //选择UCLK = ACLK
  18.     UTCTL0 = SSEL0;
  19.     //设置波特率为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.         //判断是否发送完毕
  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. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:
uart.rar (921 Bytes, 下载次数: 9)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表