资源描述:
《串口实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、《嵌入式系统开发》课程实验报告班级:电信141姓名:冯录鹏学号:140407112实验日期:5月6日电子通信工程系实验一串口通信实验学时安排:2学时一、实验目的:1、熟悉STM32的编程环境的使用;2、掌握STM32的串口的编程;二、实验步骤:1.在keil环境下编辑源文件,并编译。2.在野火STM32实验板上运行,调试程序,观察实验现象,理解并掌握相关知识。3.编写STM32的串行通信程序,实现由串口调试助手输入任意字符串,STM接收后返回到串口调试助手输出。三、实验内容:设计思路及程序代码。1、建立工程,编写主要代码2、时钟配置RCC_APB2Periph
2、ClockCmd(RCC_APB2Periph_USART1
3、RCC_APB2Periph_GPIOA,ENABLE);3、GPIOA配置GPIO_InitStructure.GPIO_Pin=GPIO_Pin_9;//USART1_TX(PA.9)GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;//复用推挽输出GPIO_Init(GPIOA,&GPIO_InitStructure);//初始化PA9GPIO_InitStru
4、cture.GPIO_Pin=GPIO_Pin_10;//USART1_RX(PA.10)GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING;//浮空输入GPIO_Init(GPIOA,&GPIO_InitStructure);//初始化PA104、USART初始化设置USART_InitStructure.USART_BaudRate=bound;//一般设置为9600;USART_InitStructure.USART_WordLength=USART_WordLength_8b;//字长为8位数据格式US
5、ART_InitStructure.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
6、USART_Mode_Tx;//收发模式USART_Init(USART1
7、,&USART_InitStructure);//初始化串口USART_ITConfig(USART1,USART_IT_RXNE,ENABLE);//开启中断USART_Cmd(USART1,ENABLE);//使能串口5、串口中断初始化函数voidUSART1_IRQHandler(void)//串口1中断服务程序{u8Res;#ifdefOS_TICKS_PER_SEC//如果时钟节拍数定义了,说明要使用ucosII了.OSIntEnter();#endifif(USART_GetITStatus(USART1,USART_IT_RXNE)!=RESET
8、){Res=USART_ReceiveData(USART1);//(USART1->DR);//读取接收到的数据if((USART_RX_STA&0x8000)==0)//接收未完成{if(USART_RX_STA&0x4000)//接收到了0x0d{if(Res!=0x0a)USART_RX_STA=0;//接收错误,重新开始elseUSART_RX_STA
9、=0x8000;//接收完成了}else//还没收到0X0D{if(Res==0x0d)USART_RX_STA
10、=0x4000;else{USART_RX_BUF[USART_RX_STA&0X3F
11、FF]=Res;USART_RX_STA++;if(USART_RX_STA>(USART_REC_LEN-1))USART_RX_STA=0;}}}#ifdefOS_TICKS_PER_SEC//如果时钟节拍数定义了,说明要使用ucosII了.OSIntExit();#endif}7、在main函数编写intmain(void){u8t;u8len;delay_init();//延时函数初始化NVIC_Configuration();//设置中断优先级分组uart_init(9600);//串口初始化为9600LED_Init();//初始化与LED连接的硬
12、件接口while(1){if(USAR