单片机技术实战基于stc51和stm32串口源码_第1页
单片机技术实战基于stc51和stm32串口源码_第2页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、main 函数的编程/*文件名称:USART 接收实验实验目的:掌握 STM32 USART 的操作与配置方法程序说明:1.通过串口调试工具显示连接 PC 机与串口调试,将波特率设定为 192002.发送字符串asdasdad+x,在 LCD 第 7 行显示 asdasdad,以x位结束标志日期版本:2011-9-19/V1.0a*/* Includes*/#include stm32f10 x.h #include lcd.h#include stdio.h/* Private typedef*/* Private define/* Private macro*/*/* Private va

2、riables*/u32_t TimingDelay = 0;u8_t USART_RXBUF20;extern u8_t RXOVER;/* Private function prototypes*/void NVIC_Configuration(void);void Delay_Ms(u32_ime);void USART_Config(void);void USART_SendString(8_t *str);/* Private functions*/*说明参数返回值*/main(void)u8_t i;主函数NoneNoneSysTick_Config(SystemCoreClock

3、/1000);/1ms 中断一次/LCD 工作模式配置STM3210B_LCD_Init();LCD_Clear(White); LCD_SetTextColor(White); LCD_SetBackColor(Blue);LCD_ClearLine(Line0);LCD_ClearLine(Line1); LCD_ClearLine(Line2);LCD_ClearLine(Line3);LCD_ClearLine(Line4);LCD_DisplayStringLine(Line1,LCD_DisplayStringLine(Line3,USART DEMOReceive & Displ

4、ay););LCD_SetTextColor(Blue);LCD_SetBackColor(White);USART_Config();LCD_DisplayStringLine(Line6,Receive:);USART_SendString(e to HBEUrn);/发送字符串while(1)if(RXOVER = 1)LCD_ClearLine(Line7); LCD_DisplayStringLine(Line7,USART_RXBUF); for(i=0;i20;i+)USART_RXBUFi = ;/清空接收区RXOVER = 0;USART_ITConfig(USART2,US

5、ART_IT_RXNE,ENABLE); /串口 2 接收中断使能,开启接收中断/*说明参数返回值*/USART2 相关GPIO 和工作模式配置NoneNonevoid USART_Config(void)GPIO_InitTypeDefGPIO_InitStructure; USART_InitTypeDef USART_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);/开启时钟 RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE);NVIC_Confi

6、guration();/配置 USART2 TX 引脚工作模式GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;/复用推挽输出 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOA, &GPIO_InitStructure);/配置 USART2 RX 引脚工作模式GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3; GPIO_InitStructure.GPIO

7、_Mode = GPIO_Mode_IN_FLOATING;/浮空输入 GPIO_Init(GPIOA, &GPIO_InitStructure);/串口 2 工作模式配置USART_InitStructure.USART_BaudRate = 19200;/可根据题目要求设置波特率USART_InitStructure.USART_WordLength = USART_WordLength_8b;/8 位数据USART_InitStructure.USART_Stits = USART_Stits_1;/停止位 1USART_InitStructure.USART_Parity = USAR

8、T_Parity_No ;/无奇偶校验 USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;/无硬件流 USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;/既发送又接收 USART_Init(USART2, &USART_InitStructure);USART_ITConfig(USART2,USART_IT_RXNE,ENABLE);/接收中断使能 USART_Cmd(USART2, ENABLE);/串口 2

9、 使能/*说明参数返回值*/USART2 字符串发送函数 str: 指向字符串的指针 Nonevoid USART_SendString(8_t *str)u8_t index = 0;doUSART_SendData(USART2,strindex);/串口 2 发送数据while(USART_GetFlagSus(USART2,USART_FLAG_TXE) = RESET);/等待串口 2 发送完成index+;while(strindex != 0);/检查字符串结束标志/*说明参数返回值*/配置中断向量控制器NoneNonevoid NVIC_Configuration(void)N

10、VIC_InitTypeDef NVIC_InitStructure;NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);/中断分组/* Enable the RTCerrupt */NVIC_InitStructure.NVIC_IRQChannel = USART2_IRQn;/配置串口 2 中断 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;/抢占优先级 1 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;/响应优先级 0 NV

11、IC_InitStructure.NVIC_IRQChannelCmd = ENABLE;/中断使能NVIC_Init(&NVIC_InitStructure);/*说明参数返回值*/延时函数nTime: 延时时间Nonevoid Delay_Ms(u32_ime)TimingDelay = nTime;while(TimingDelay != 0);/*END OF FILE*/11.4.2 Usart 中断服务程序/全局变量、外部变量定义 extern u32_t TimingDelay;extern u8_t USART_RXBUF20;u8_t RXOVER = 0;u8_t RXCUNT = 0;/中断服务程序void USART2_IRQHandler(void)u8_t temp;if(USART_GetITSus(USART2,USART_IT_RXNE) != RESET) /检查串口 2 是否接收中断temp = USART_ReceiveData(USART

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论