《智能产品设计与应用》课件-串行通信原理_第1页
《智能产品设计与应用》课件-串行通信原理_第2页
《智能产品设计与应用》课件-串行通信原理_第3页
《智能产品设计与应用》课件-串行通信原理_第4页
《智能产品设计与应用》课件-串行通信原理_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

智能产品设计与应用串口通信原理案例导入01/PART

ONE串口通信原理参数配置顺序详情寄存器名功能备注赋值1.引脚选择及配置PERCFG外设控制寄存器(结合串口外设I/O引脚映射)串口0的引脚映射到位置1,即P0_2、P0_3PERCFG&=~0x01;P0SEL功能选择(0:通用IO,1:外设)将P0_2、P0_3设置成外设功能P0SEL|=0x0C;2.波特率设置UxGCRUSARTx通用控制寄存器BAUD_E[4:0]16MHz:932MHz:8U0GCR=8;//32MHzUxBAUDUSARTx波特率控制寄存器BAUD_M[7:0]U0BAUD=59;3.串口属性相关的配置UxUCRUSARTxUART控制寄存器第7位,1U0UCR|=0X80;UxCSRUSARTx控制和状态寄存器7:1:UART6:1:接收使能U0CSR|=0XC0;UxBUFUSARTx接收、发送数据缓冲器串口通信原理参数配置顺序详情寄存器名功能备注赋值4.中断标志位UTX0IFTX发送中断标志//清除TX发送中断标志UTX0IF=0;URX0IF/RX接收中断标志//清除RX接收中断标志URX0IF=0;5.中断允许URX0IEURAT0的接收中断使能URAT0的接收中断URX0IE=1;

EA

总中断//使能总中断EA=1;串口通信原理波特率设置:串口比特率的设置UxGCRUxBAUD串口通信原理波特率设置:串口比特率的设置U0BAUD=59;串口通信原理波特率设置:串口比特率的设置U0GCR=8;串口通信原理串口属性相关的配置U0UCR|=0x80;串口通信原理串口属性相关的配置U0CSR|=0xC0;UxCSRUSARTx控制和状态寄存器串口通信原理设计串口初始化函数,设备的系统时钟位32MHz,将USARTO的引脚映射为位置1,选择UART模式,波特率为9600,UART禁止流控,禁止奇偶校验,8位数据位,1位停止位,使能接收中断和总中断。[应用范例]串口初始化函数串口初始化代码:voidInit_Uart0(){//引脚配置

PERCFG&=~0x01;//串口0的引脚映射到位置1,即P0_2和P0_3

P0SEL|=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;//使能总中断}串口通信原理任务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.,..]);引入头文件#include"stdio.h"例:有一个表示温度的整型变量tmp,现在要将其格式化为字符串。“温度是:XX摄氏度”,并将其通过串口0发送出去。UnsignedcharStr_buff[64];sprintf((char*)Str_buff,"温度是:%d摄氏度",tmp);Send_String(Str_buff);串口通信原理通信方式并行通信串行通信串行同步通信串行异步通信所有设备使用同一时钟,以数据块为单位传送,对硬件结构要求高。每个设备使用自己的时钟信号,通信中双方时钟频率保持一致,通信一次传送一次。9600bps电脑串口CC2530单片机P0.2RX接收P0.3TX发送串口通信原理CC2530串口向电脑串口发送字符串信息。将开发板上按键次数发送给电脑串口。开发板→电脑串口当CC2530收到电脑串口发送来的信息,修改数据,发送回电脑。串口控制LED灯。电脑串口→开发板串口通信原理电脑串口CC2530单片机P0.2RX接收P0.3TX发送两个串行通信接口USART0USART12个独立的中断向量对于每个USART外设,有5个相关寄存器(x是USART的编号,为0或者1)发送完成中断:URX0,USART0接收完成中断:UTX0,USART0异步UART模式同步SPI模式串口通信原理对于每个USART,有5个如下的寄存器(x是USART的编号,为0或者1):UxCSR:控制和状态;UxUCR:UART控制;UxGCR:通用控制;UxBUF:接收/发送数据缓冲;UxBAUD:波特率控制。USART寄存器串口通信原理参数配置顺序详情寄存器名功能备注赋值1.引脚选择及配置PERCFG外设控制寄存器(结合串口外设I/O引脚映射)串口0的引脚映射到位置1,即P0_2、P0_3PERCFG&=~0x01;P0SEL功能选择(0:通用IO,1:外设)将P0_2、P0_3设置成外设功能P0SEL|=0x0C;2.波特率设置UxGCRUSARTx通用控制寄存器BAUD_E[4:0]16MHz:932MHz:8U0GCR=8;//32MHzUxBAUDUSARTx波特率控制寄存器BAUD_M[7:0]U0BAUD=59;3.串口属性相关的配置UxUCRUSARTxUART控制寄存器第7位,1U0UCR|=0X80;UxCSRUSARTx控制和状态寄存器7:1:UART6:1:接收使能U0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论