- 1、本文档共12页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
智能产品设计与应用人机通信控制(串口)
案例导入01/PARTONE
人机通信控制(串口)任务6.1串口数据发送USART0选择UART模式,波特率9600,I/O引脚映射到备用位置1。设计看门狗初始化函数,设置为定时器模式,定时间隔为1秒。看门狗中断函数中,每隔1秒,发送一次字符串HelloWorld!\r\n”。D1灯作为数据发送指示灯,在发送字符串前点亮D1,字符串发送结束后熄灭D1。set_clock_32();//1.初始化时钟InitIO();//2.初始化端口Init_WDT();//3.初始化看门狗Init_Uart0();//4.初始化串口
人机通信控制(串口)set_clock_32();//1.初始化时钟InitIO();//2.初始化端口Init_WDT();//3.初始化看门狗Init_Uart0();//4.初始化串口While(1)WDTIF=0;清除中断标志while(*str!=\0)Send_Byte(*str++);N看门狗中断函数1s时间到LED1=~LED1;Send_String(HelloWorld!!!\r\n);//发送字符串函数发送字符串函数Send_String(unsignedchar*str)发送字节函数Send_Byte(unsignedchardat)U0DBUF=dat;//将数据放入发送缓冲寄存器while(UTX0IF==0);//等待发送完成UTX0IF=0;//发送完成后清除中断标志位
人机通信控制(串口)set_clock_32();//1.初始化时钟InitIO();//2.初始化端口Init_WDT();//3.初始化看门狗Init_Uart0();//4.初始化串口voidInit_Uart0(){//引脚配置PERCFG=~0x01;//串口0的引脚映射到位置1,即P0_2和P0_3P0SEL|=0x0C;//将P0_2和P0_3端口设置成外设功能//波特率相关的配置U0BAUD=59;//32MHz的系统时钟产生9600BPS的波特率U0GCR=8;//串口属性相关的配置U0UCR|=0x80;//禁止流控,8位数据,清除缓冲器U0CSR|=0xC0;//选择UART模式,使能接收器//清除发送和接收中断标志位UTX0IF=0;//清除TX发送中断标志URX0IF=0;//清除RX接收中断标志//使能串口相关中断控制位URX0IE=1;//使能URAT0的接收中断EA=1;//使能总中断}
人机通信控制(串口)关于sprintf()函数的用法sprintf(),指的是字符串格式化函数,把格式化的数据写入某个字符串中。intsprintf(char*string,char*format[,argument.,..]);引入头文件#includestdio.h例:有一个表示温度的整型变量tmp,现在要将其格式化为字符串。“温度是:XX摄氏度”,并将其通过串口0发送出去。UnsignedcharStr_buff[64];sprintf((char*)Str_buff,温度是:%d摄氏度,tmp);Send_String(Str_buff);
人机通信控制(串口)任务6.3CC2530串口数据收发基础USART0选择UART模式,波特率9600,I/0引脚映射到备用位置1。串口成功接收到一个字节数据后,在中断服务函数中,在数据原值上加1,然后发送回上位机。在主函数中,初始化完成后,进行死循环等待。P1_0P1_1P0_4P0_1P2_0LED1LED2LED3K1K2CC2530模块
人机通信控制(串口)2种接收方式查询方式接收串口数据中断方式接收串口数据中断标志位TCON.URX0IF被置1,可位寻址,需要软件清0初始化:IEN0.URX0IE=1,第2位,可位寻址,接收中断使能中断服务函数:对中断标志位TCON.URX0IF软件清0,UxCSR.REN=1,接收允许第6位IE结尾,中断控制位IF结尾,中断标志位//使能串口接收中断控制位URX0IE=1;//串口中断允许EA=1;//总中断允许#pragmavector=URX0_VECTOR__interruptvoidSecrive_UR0_Recv(){…}串口初始化增加串口中断服务程序unsignedchardat;//定义一个无符号变量URX0IF=0;//清除标志位
文档评论(0)