当前位置: 首页 > wzjs >正文

iis7 多个网站 80端口商城建设网站公司

iis7 多个网站 80端口,商城建设网站公司,营销型网站建设 课程,wordpress怎么添加音乐播放器1.前言 最近需要利用msp430连接蓝牙模块传递数据,于是死磕了一段时间串口,在这里记录一下 2.msp430串口模块 msp430的串口模块可以有USCI模块提供 在异步模式中, USCI_Ax 模块通过两个外部引脚, UCAxRXD 和 UCAxTXD&#xff0…

1.前言

最近需要利用msp430连接蓝牙模块传递数据,于是死磕了一段时间串口,在这里记录一下

2.msp430串口模块

msp430的串口模块可以有USCI模块提供

在异步模式中, USCI_Ax 模块通过两个外部引脚, UCAxRXD 和 UCAxTXD, 把 MSP430 和一个外部系统连接起来。当 UCSYNC 位被清零时就选择了 UART 模式。
UART 模式的特性包括:
• 7 或 8 位奇, 偶, 或无奇偶校验的数据
• 独立的发送和接收移位寄存器
• 独立的发送和接收缓冲寄存器
• 最低有效位 (LSB) 优先或最高有效位 (MSB) 优先的数据发送和接收
• 多处理器系统中内置空闲线和地址位通信协议
• 接收器开始边沿检测以从 LMPx 模式中自动唤醒
• 支持分数波特率的可编程调制波特率
• 状态标志的错误检测和抑制
• 地址检测的状态标志
• 独立接收和发送中断的能力

3.寄存器介绍

1.UCAxCTL0

该寄存器主要是对UART的工作模式进行配置,包括校验位,停止位,数据位等,但是我们在实际使用中我们不用管这个寄存器,里面设定的默认值为我们常用的设置(8为数据位,1位停止位,无校验位)

2.UCAxCTL1

该寄存器在常规状态下只需关注UCSSELx和UCSWRST两个字段,前者的作用是选择合适的时钟源,后者是用于进行串口模块的设置,具体可见下图

3.UCAxBR0 &UCAxBR1

这两个寄存器用于对之前选择的时钟源进行分频,进而控制我们串口模块的波特率其中寄存器0为低位,1为高位

计算举例:时钟源设置为1MHZ,选择波特率为9600,则分屏值为104,则低位设置为104,高位设置为0

同时在官网的用户指南(中文)中也有常用波特率的设置,对照时钟源的配置选择相应的系数即可

注意:不推荐在1MHZ下使用115200波特率,由于频率相近容易出问题

4.IE2

此处寄存器是用作中断的使能,就不多做介绍了

4.模块配置以及数据收发

1.模块配置

在模块配置中,我们的主要任务是时钟源的选择以及波特率的设置,中断的使能

//此处时钟源为SMCLK 1MHZ
void UART_Init()
{P1SEL|=BIT1+BIT2;P1SEL2|=BIT1+BIT2;  //IO选择第三功能UCA0CTL1|=UCSWRST;    //复位模块,进行初始化UCA0CTL1|=(UCSSEL_2);    //选择时钟UCA0BR0 =104;            //波特率选择为9600UCA0BR1 =0;UCA0CTL1&=~UCSWRST; //关闭复位IE2 |= UCA0RXIE;    //打开接收中断_EINT();            //初始化中断
}

2.数据收发

数据发送较为简单,只需在串口发送寄存器中写入数据即可,之后模块会自动将寄存器内的数据发送出去,同时置为相应的中断位

void SendByte(unsigned char dat)
{UCA0TXBUF=dat;while((IFG2&UCA0TXIFG)==0);
}

如果要发送一段字符串,只需使用循环对字符串数组进行连续写入即可,直到字符串最后(\0)

void SendString(unsigned char *string)
{unsigned char i=0;while(string[i]!='\0'){SendByte(string[i++]);}
}

数据接收我们在这里使用中断接收,我们之前对模块的接收中断以及使能过了,所以我们在这里主要针对中断函数

#pragma vector=USCIAB0RX_VECTOR
__interrupt void UART_Service()
{unsigned char RX=UCA0RXBUF;//相应的业务
}

5.完整代码

实现的功能是将接收到的数据加1然后发送

#include <msp430.h> unsigned receive[20];
unsigned char count=0;
/*** main.c*/
void UART_Init()
{//P1OUT&=~(BIT1+BIT2);P1SEL|=BIT1+BIT2;P1SEL2|=BIT1+BIT2;UCA0CTL1|=UCSWRST;UCA0CTL1|=(UCSSEL_2);UCA0BR0 =104;UCA0BR1 =0;UCA0CTL1&=~UCSWRST;IE2 |= UCA0RXIE;_EINT();
}
void SendByte(unsigned char dat)
{UCA0TXBUF=dat;while((IFG2&UCA0TXIFG)==0);
}
void SendString(unsigned char *string)
{unsigned char i=0;while(string[i]!='\0'){SendByte(string[i++]);}
}
int main(void)
{WDTCTL = WDTPW | WDTHOLD;	// stop watchdog timerBCSCTL1 = CALBC1_1MHZ;   // 设置 DCO 范围为 1MHz(需从芯片信息段加载校准值)DCOCTL = CALDCO_1MHZ;     // 设置 DCO 频率为 1MHzUART_Init();SendString("hello world");while(1);return 0;
}
#pragma vector=USCIAB0RX_VECTOR
__interrupt void UART_Service()
{unsigned char RX=UCA0RXBUF;SendByte(RX+1);
}

需要注意的是,如果不使用usb转ttl模块连接引脚,而是用板子上的USB与电脑进行通信的话,需要将板子上的TXD,RXD由竖着连接改为横着连接

现象:(蓝色为电脑发送。绿色为电脑接收)

电脑发送1,接收到2

完整代码地址:

Hans/msp430G2553串口通信

http://www.dtcms.com/wzjs/789146.html

相关文章:

  • 消防器材厂家东莞网站建设短剧cps分销平台官网
  • 网站建设时间规划表怎么做原创电影视频网站
  • 沈阳建设银行网站首页学做川菜最好的网站
  • 做网站要几个人 要多少钱可以发布推广引流的悬赏平台
  • 外贸企业网站系统源码seo排名助手
  • 个人适合网站类型江苏专业网站建设
  • 医院网站建设 南宁免费发布招工
  • 网站设计作业多少钱鞍山网民
  • 那个网站做百科好过hype做网站动效
  • 国外直播做游戏视频网站有哪些长春网络推广小技巧
  • 三星智能手表网站北京电商网站开发多少钱
  • 淘宝网站750海报怎么做网站制作公司成都
  • 企业网站推广的策略电商网站有哪些功能
  • 如何购买域名建网站如何做好线上推广
  • 网站后台怎么制作第三方网络营销平台有哪些
  • 彩票网站链接怎么做企业建站
  • 电脑怎么做网站服务器南昌网站seo外包服务
  • 长沙 网站建设品牌推荐网站策划教程
  • 在哪个网站找水利工地做手机网站app开发
  • 企业网站管理系统的设计与实现软件开发培训机构网课
  • 建立网站的价格wordpress多站点配置教程
  • 辽宁高速公路建设局网站给一个免费的网站
  • 网站seo策略东莞常平二手房价格
  • 做网站网上接单竞价是什么意思
  • 营销网站制作要素中国建筑集团有限公司官网招标网
  • 电白手机网站建设公司去哪里找人做网站
  • 做网站怎么挣钱网站建设大概好多钱
  • 网站建设合作网页设计需要学什么
  • 东营网站建设优选案例vue可视化开发工具
  • 立水桥大型网站建设免费微信建站有哪些网站