第二十九章战舰STM32开发板485实验
图29.2.2 硬件连接示意图
最后,我们用2根导线将两个开发板RS485端子的A和A,B和B连接起来。这里注意不要接反了(A接B),接反了会导致通讯异常!!
29.3 软件设计
打开我们的485实验例程,可以发现项目中加入了一个rs485.c文件以及其头文件rs485文件,同时485通信调用的库函数和定义分布在stm32f10x_usart.c文件和头文件stm32f10x_usart.h文件中。
打开rs485.c文件,代码如下: #include "sys.h" #include "rs485.h" #include "delay.h"
#ifdef EN_USART2_RX //如果使能了接收 //接收缓存区
u8 RS485_RX_BUF[64]; //接收缓冲,最大64个字节. //接收到的数据长度
u8 RS485_RX_CNT=0; void USART2_IRQHandler(void) { u8 res;
if(USART_GetITStatus(USART2, USART_IT_RXNE) != RESET) //接收到数据 { res =USART_ReceiveData(USART2); //读取接收到的数据 if(RS485_RX_CNT<64) { RS485_RX_BUF[RS485_RX_CNT]=res; //记录接收到的值 RS485_RX_CNT++; //接收数据增加1 } } }
#endif //初始化IO 串口2 //bound:波特率
void RS485_Init(u32 bound) {
GPIO_InitTypeDef GPIO_InitStructure; USART_InitTypeDef USART_InitStructure; NVIC_InitTypeDef NVIC_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|
RCC_APB2Periph_GPIOG, ENABLE);//使能GPIOA,G时钟 RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2,ENABLE);//使能串口2时钟
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库第二十九章战舰STM32开发板485实验(4)在线全文阅读。
相关推荐: