购买网站设计制作jsp asp php哪个做网站
硬件资源:
①正点原子STM32F407ZGT6探索者开发板
硬件连接为:

②USB链接线
③STLink仿真器
目的:通关串口实现与上位机的文本通信
步骤:
①串口和GPIO时钟使能
②引脚复用器映射:GPIO_PinAFConfig函数
③GPIO设置为复用功能
④串口参数初始化,设置波特率,字长等参数
⑤开启中断,初始化NVIC。
⑥使能串口
⑦写中断处理函数,函数名为USARTXIRQHandler
对应代码结构:

其中,main函数处理流程为:初始化后进入while1循环,若判断收到数据,则向电脑发送,若没有数据到来,则一直间隔一段时间向电脑发送提示信息,代码如下:
#include "sys.h"
#include "delay.h"
#include "usart.h"
#include "led.h"
#include "key.h"int main(void)
{u8 len; u16 times=0;HAL_Init(); //初始化HAL库 Stm32_Clock_Init(336,8,2,7); //设置时钟,168Mhzdelay_init(168); //初始化延时函数uart_init(115200); //初始化USARTLED_Init(); //初始化LED KEY_Init(); //初始化按键while(1){if(USART_RX_STA&0x8000){ len=USART_RX_STA&0x3fff;//得到此次接收到的数据长度printf("\r\n您发送的消息为:\r\n");HAL_UART_Transmit(&UART1_Handler,(uint8_t*)USART_RX_BUF,len,1000); //发送接收到的数据while(__HAL_UART_GET_FLAG(&UART1_Handler,UART_FLAG_TC)!=SET); //等待发送结束printf("\r\n\r\n");//插入换行USART_RX_STA=0;}else{times++;if(times%5000==0){printf("\r\n探索者STM32F407开发板 串口实验\r\n");}if(times%200==0)printf("请输入数据,以回车键结束\r\n"); if(times%30==0)LED0=!LED0;//闪烁LED,提示系统正在运行.delay_ms(10); } }
}
delay.c函数为正点原子历程的函数ÿ
