欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    2022年STMUart串口中断响应、发送接收详细程序 .pdf

    • 资源ID:27259887       资源大小:38.26KB        全文页数:4页
    • 资源格式: PDF        下载积分:4.3金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要4.3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2022年STMUart串口中断响应、发送接收详细程序 .pdf

    程序实现功能:可以直接接收USART1 的数据,并通过串口调试输出显示#includestm32f10 x_lib.h void NVIC_Configuration(void); void RCC_Configuration(void); void GPIO_Configuration(void); ErrorStatus HSEStartUpStatus; USART_InitTypeDef USART_InitStructure; USART_ClockInitTypeDef USART_ClockInitStructure; int main() #ifdef DEBUG debug #endif RCC_Configuration(); NVIC_Configuration(); GPIO_Configuration(); /*串口传输速率的大小必须与RCC 所设定的时钟相对应起来*/USART_InitStructure.USART_BaudRate = 9600; /设置 USART 的传输速率/*设定数据的接收发送模式*/USART_InitStructure.USART_WordLength = USART_WordLength_8b;/ 在一帧中传输或接受 8 位数据位USART_InitStructure.USART_StopBits = USART_StopBits_1; /定义在帧的结尾传输一个停止位USART_InitStructure.USART_Parity = USART_Parity_No; /奇偶失能USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; /指定硬件流控制模式RTS 和 CTS 使能USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx; /指定使能或失能发送和接受模式Tx 发送使能和Rx 接收使能USART_ ClockInitStructure.USART_Clock = USART_Clock_Disable; /提升 USART 时钟时使能还是失能,钟低电平活动USART_ClockInitStructure.USART_CPOL = USART_CPOL_Low; /指定 SLCK 引脚上时钟的极性USART_ClockInitStructure.USART_CPHA = USART_CPHA_2Edge; /时钟第二个边缘进行数据捕获USART_ClockInitStructure.USART_LastBit = USART_LastBit_Disable; /在 SCLK 引脚上输出最后发送的那个数据字的脉冲不从SCLK 输出USART_ClockInit(USART1, &USART_ClockInitStructure); USART_Init(USART1, &USART_InitStructure); /*输入输出的中断使能*/ / USART_ITConfig(USART1, USART_IT_TXE, ENABLE); USART_ITConfig(USART1, USART_IT_RXNE, ENABLE); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 4 页 - - - - - - - - - USART_Cmd(USART1, ENABLE); /启动串口使能 USART1 外设while(1) /* USART_SendData(USART1, 0X26); /发送数据while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) = RESET)/等待发送结束*/ void NVIC_Configuration(void) NVIC_InitTypeDef NVIC_InitStructure; #ifdef VETB_TAB_RAM NVYC_SetVectorTable(NVIC_VectTab_RAM,0 x0); #else NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0 x0); #endif /* Enable the USART1 Interrupt */ NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQChannel; /通道设置为串口1 中断(故后面应选择在“void USART1_IRQHandler(void)”开中断)NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; /中断占先等级0 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; /中断响应优先级0 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; /打开中断NVIC_Init(&NVIC_InitStructure); void RCC_Configuration(void) RCC_DeInit(); RCC_HSEConfig(RCC_HSE_ON); HSEStartUpStatus=RCC_WaitForHSEStartUp(); if(HSEStartUpStatus=SUCCESS) FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable); FLASH_SetLatency(FLASH_Latency_2); RCC_HCLKConfig(RCC_SYSCLK_Div1); RCC_PCLK2Config(RCC_HCLK_Div1); /串口波特率的确定RCC_PCLK1Config(RCC_HCLK_Div2); RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9); RCC_PLLCmd(ENABLE); while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY=RESET) RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 4 页 - - - - - - - - - while(RCC_GetSYSCLKSource()!=0 x08) RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA |RCC_APB2Periph_GPIOE|RCC_APB2Periph_USART1, ENABLE); /RCC 中打开相应的串口 void GPIO_Configuration(void) GPIO_InitTypeDef GPIO_InitStructure; / GPIO_PinRemapConfig(GPIO_Remap_USART1, ENABLE); /改变指定管脚脚的映射Changes the mapping of the specified pin /* Configure USART1 RTS (PA12) and USART1 Tx (PA9) as alternate function push-pull 根据资料可查得各管脚对应*/ GPIO_InitStructure.GPIO_Pin =GPIO_Pin_9; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; /推挽输出GPIO_Init(GPIOA, &GPIO_InitStructure); /* Configure USART2 CTS (PA11) and USART1 Rx (PA10) as input floating */ GPIO_InitStructure.GPIO_Pin =GPIO_Pin_10; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; GPIO_Init(GPIOA, &GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin=GPIO_Pin_1|GPIO_Pin_0|GPIO_Pin_2|GPIO_Pin_3; GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP; GPIO_Init(GPIOE,&GPIO_InitStructure); 中断函数:(可在 stm32f10 x_.it.c 中调用)void USART1_IRQHandler(void) u8 RX_dat; /定义字符变量if (USART_GetITStatus(USART1, USART_IT_RXNE) != RESET) /判断发生接收中断 GPIO_WriteBit(GPIOE, GPIO_Pin_1, (BitAction)0 x01); /LED M RX_dat=(USART_ReceiveData(USART1) & 0 x7F); /接收数据,整理除去前两位USART_ClearITPendingBit(USART1, USART_IT_RXNE); /清除中断标志while(USART_GetFlagStatus(USART1, USART_FLAG_RXNE) = RESET)/等待接收结束/ USART_ITConfig(USART1, USART_IT_RXNE, DISABLE); /关中断USART_SendData(USART1,RX_dat); /发送数据名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 4 页 - - - - - - - - - GPIO_WriteBit(GPIOE, GPIO_Pin_2, (BitAction)0 x01); /LED M 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 4 页 - - - - - - - - -

    注意事项

    本文(2022年STMUart串口中断响应、发送接收详细程序 .pdf)为本站会员(Che****ry)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开