stm32串口间通信实验

stm32串口间通信实验

ID:40570950

大小:51.50 KB

页数:8页

时间:2019-08-04

stm32串口间通信实验_第1页
stm32串口间通信实验_第2页
stm32串口间通信实验_第3页
stm32串口间通信实验_第4页
stm32串口间通信实验_第5页
资源描述:

《stm32串口间通信实验》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、STM32串口间通信该工程主要实现了两块实验板之间的通信以及接收实验板和PC间的通信,通过发送实验板串口1发送数据,然后由接受实验板串口3接收数据后再又串口1发送出去通过PC查看实验效果。发送串口及子函数配置:#include"sys.h"#include"usart.h"//////////////////////////////////////////////////////////////////////////////////charUSART_TX_BUF[12]={"0123456789

2、r"};//发送缓冲voiduart_init(u32bound){//GPIO端口设置GPIO_InitTypeDefGPIO_InitStructure;USART_InitTypeDefUSART_InitStructure;//NVIC_InitTypeDefNVIC_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1

3、RCC_APB2Periph_GPIOA

4、RCC_APB2Periph_AFIO,ENABLE);//US

5、ART1_TXPA.9GPIO_InitStructure.GPIO_Pin=GPIO_Pin_9;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;GPIO_Init(GPIOA,&GPIO_InitStructure);//USART1_RXPA.10GPIO_InitStructure.GPIO_Pin=GPIO_Pin_10;GPIO_InitStructure

6、.GPIO_Mode=GPIO_Mode_IN_FLOATING;GPIO_Init(GPIOA,&GPIO_InitStructure);//Usart1NVIC配置//NVIC_InitStructure.NVIC_IRQChannel=USART1_IRQn;//NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=3;//NVIC_InitStructure.NVIC_IRQChannelSubPriority=3;////NVIC_Init

7、Structure.NVIC_IRQChannelCmd=ENABLE;//IRQ通道使能//NVIC_Init(&NVIC_InitStructure);//根据NVIC_InitStruct中指定的参数初始化外设NVIC寄存器USART1//USART初始化设置USART_InitStructure.USART_BaudRate=bound;//一般设置为9600;USART_InitStructure.USART_WordLength=USART_WordLength_8b;USART_Init

8、Structure.USART_StopBits=USART_StopBits_1;USART_InitStructure.USART_Parity=USART_Parity_No;USART_InitStructure.USART_HardwareFlowControl=USART_HardwareFlowControl_None;USART_InitStructure.USART_Mode=USART_Mode_Rx

9、USART_Mode_Tx;USART_Init(USART1,&USART_I

10、nitStructure);USART_ITConfig(USART1,USART_IT_TXE,ENABLE);//开启中断USART_Cmd(USART1,ENABLE);//使能串口}voidPut_String(u8*p){while(*p){USART_SendData(USART1,*p++);while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)==RESET){}USART_ClearITPendingBit(USART1,USART_IT_T

11、XE);}}//这些函数很有用所以附上来了voidUart_PutChar(u8ch){USART_SendData(USART1,(u8)ch);while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)==RESET){}USART_ClearITPendingBit(USART1,USART_IT_TXE);//returnch;}voidUart_PutString(u8*buf,u8len){u8i;for

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。