串口实验报告

上传人:jiups****uk12 文档编号:41123774 上传时间:2018-05-28 格式:DOC 页数:4 大小:29.50KB
返回 下载 相关 举报
串口实验报告_第1页
第1页 / 共4页
串口实验报告_第2页
第2页 / 共4页
串口实验报告_第3页
第3页 / 共4页
串口实验报告_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《串口实验报告》由会员分享,可在线阅读,更多相关《串口实验报告(4页珍藏版)》请在金锄头文库上搜索。

1、海南大学学生实验报告课程名称:嵌入式实验 班级:2013级物联网1班 姓名 程谣 日期:2015.12.10 学号:20132835320008 成绩 教师一、实验题目:串口通信实验二、实验目的1、熟悉STM32的编程环境的使用;2、掌握STM32的串口的编程;三、实验内容编写STM32 的串行通信程序,实现由串口调试助手输入任意字符串,STM接收后返回到串口调试助手输出。四、实验步骤1、建立工程,编写主要代码2、时钟配置RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1|RCC_APB2Periph_GPIOA, ENABLE);3、GPIOA配置GPI

2、O_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, /初始化PA9 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10; /USART1_RX (PA.10)GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;

3、/浮空输入GPIO_Init(GPIOA, /初始化PA10 4、USART 初始化设置USART_InitStructure.USART_BaudRate = bound;/一般设置为9600;USART_InitStructure.USART_WordLength = USART_WordLength_8b;/字长为8位数据格式USART_InitStructure.USART_StopBits = USART_StopBits_1;/一个停止位USART_InitStructure.USART_Parity = USART_Parity_No;/无奇偶校验位USART_InitStruc

4、ture.USART_HardwareFlowControl = USART_HardwareFlowControl_None;/无硬件数据流控制海南大学学生实验报告课程名称:嵌入式实验 班级:2013级物联网1班 姓名 程谣 日期:2015.12.10 学号:20132835320008 成绩 教师USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;/收发模式USART_Init(USART1, /初始化串口USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);/开启中断USART

5、_Cmd(USART1, ENABLE); /使能串口 5、串口中断初始化函数void USART1_IRQHandler(void) /串口1中断服务程序u8 Res;#ifdef OS_TICKS_PER_SEC /如果时钟节拍数定义了,说明要使用ucosII了.OSIntEnter(); #endifif(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET) Res =USART_ReceiveData(USART1);/(USART1-DR); /读取接收到的数据if(USART_RX_STA/接收错误,重新开始else USART_RX

6、_STA|=0x8000; /接收完成了 else /还没收到0X0Dif(Res=0x0d)USART_RX_STA|=0x4000;elseUSART_RX_BUFUSART_RX_STAUSART_RX_STA+;if(USART_RX_STA(USART_REC_LEN-1)USART_RX_STA=0; 海南大学学生实验报告课程名称:嵌入式实验 班级:2013级物联网1班 姓名 程谣 日期:2015.12.10 学号:20132835320008 成绩 教师#ifdef OS_TICKS_PER_SEC /如果时钟节拍数定义了,说明要使用ucosII了.OSIntExit(); #e

7、ndif 7、在main函数编写int main(void) u8 t;u8 len;delay_init(); /延时函数初始化NVIC_Configuration();/ 设置中断优先级分组uart_init(9600); /串口初始化为9600LED_Init(); /初始化与LED连接的硬件接口 while(1) if(USART_RX_STA/得到此次接收到的数据长度printf(“rn您发送的消息为:rn“);for(t=0;tlen;t+)USART_SendData(USART1,USART_RX_BUFt);/发送一个字节的数据while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)=RESET); /等待发送结束LED1=!LED1;delay_ms(200);LED1=!LED1;printf(“rnrn“);/插入换行USART_RX_STA=0;elseprintf(“请输入数据,以空格键结束rn“); 海南大学学生实验报告课程名称:嵌入式实验 班级:2013级物联网1班 姓名 程谣 日期:2015.12.10 学号:20132835320008 成绩 教师delay_ms(15000); 五、实验结果

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号