CC2530串口驱动.docx
《CC2530串口驱动.docx》由会员分享,可在线阅读,更多相关《CC2530串口驱动.docx(17页珍藏版)》请在第一文库网上搜索。
1、CC2530串口驱动无论学习哪款MUC串口对于我们进行实验调试都是非常方便实用的,可以把程序中涉及的某些中间量或者其他程序状态信息打印出来显示在电脑上进行调试,许多MUC和PC机通信都是通过串口来进行的。CC2530有两个USB转串口,分别是USARTO和USART1。USARTO和USART1是串行通信接口,它们能够分别运行于异步幽1模式或者同步SP1模式。两个USART具体同样的功能,可以设置在单独的I/O引脚。*文件名:Uart.c*功能:CC2530串口相关函数*详细:串口相关函数串口最大晅为系统时钟的1/16inc1udesystem,h”ftinc1udeuart.h相关UART状
2、态结构typedefstruct(u8BuffFu11;接收BUff满u8*RxBuff;接收BUff指针u16RxBuffSize;接收缓冲区大小,一帧数据大小u16UartRxCnt;接收数据计数器UartRxTypeDef;staticUartRXJTypeDefUART_RX2;staticconstu8BAUD_M11=59,59,59,216,59,216,59,216,59,216,216;32MHZ系统时钟对应的分频器小数部分staticconstu8BAUD_E11=6,7,8,8,9,9,10,10,11,U,12;32MHZ系统时钟对应的分频器指数部分* 函数:voidU
3、ART_Init(UART_CHch,USART_BAUDBaud,Functiona1StateRxIntEn)* 功能:串口初始化* 参数:ch:通道选择,UARTCHO,UARTCH1Baud:波特率控制,见USART_BAUDRxIntEnrENAB1E:使能串口接收中断* 返回:无* 依赖:底层宏定义* 说明:一个起始位,8个数据位,一个停止位,无奇偶校验需要开启全局中断voidUARTJnit(UARTCHch,USART.BAUDBaud,Functiona1StateRxIntEn)switch(ch)caseURTCHO:UOCSR=BIT7BIT6;UART模式,使能接收U
4、oUCR=B1T1;无流控,无奇偶校验,8bit,1个停止位,停止位高电平,起始低电平UOGCR二BAUD_EBaud;波特率分频器指数部分UOBAUD=BAUDJIBaud;波特率分频器小数部分POSE1I=BIT2+BIT3;/PO.3TXD,PO.2RXDIEN2&二(13);关闭发送中断URXOIF=0;清除串口接收中断标志UTXOIF=0;清除串口发送中断标志URXOIE二(RxIntEn=ENAB1E)?1:0;使能串口接收中断break;caseUART_CH1:(U1CSR=BIT7+BIT6;UART模式,使能接收U1UCR二B1T1;无流控,无奇偶校验,8bit,1个停止位
5、,停止位高电平,起始低电平U1GCR=BAUD_EBaud;波特率分频器指数部分U1BAUD=BAUDJfBaud;波特率分频器小数部分P1SE1I=BIT4+BIT5;/PO.5TXD,PO.4RXDURX1IF=0;清除串口接收中断标志UTX1IF=0;清除串口发送中断标志URX1IE=(RxIntEn=ENAB1E)?1:0;使能串口接收中断break;defau1t:return;UART_SetRxBuff(ch,NU11,O);初始化串口缓冲区无效)* 函数:voidUART_SendByte(UART_CHch,u8data)* 功能:UART字节发送函数* 参数:ch:通道选择
6、,UART_CHO,UART_CH1data:需要发送的数据* 返回:无* 依赖:底层宏定义* 说明:无voidUART_SendByte(UART_CHch,u8data)(switch(ch)(caseUART_CH0:(UODBUF二data;发送字节数据whi1e(!(UOCSR&BITD);等待发送数据寄今番为空UOCSR&=BIT1;break;caseUARTCHI:U1DBUF二data;发送字节数据whi1e(!(U1CSR&BIT!);等待发送数据寄存器为空U1CSR&二BIT1;break;*函数:defau1t:break;voidUART2_SendData(u8*p
7、buff,u161en)*功能:串口发送任意长度数据*参数:ch:通道选择,UARTCHO,UARTCH1pbuff:数据缓冲区指针,1en:数据长度*返回:无*依赖:底层宏定义*说明:无voidUART-SendData(UART_CHch,u8*pbuff,u161en)u16i;switch(ch)(caseUARTCHO:(for(i=0;i1en;i+)UODBUF=pbuffi;发送字节数据whi1e(!(UOCSR&BITD);等待发送数据寄存器为空UOCSR&=BIT1;)break;caseUART_CH1:for(i=0;i1en;i+)(U1DBUF=pbuffi;发送字
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CC2530 串口 驱动