历史上的今天

今天是:2024年10月08日(星期二)

正在发生

2019年10月08日 | stm32 freertos 之串口中断

发布者:advancement3 来源: eefocus关键字:stm32  freertos  串口中断 手机看文章 扫描二维码
随时随地手机看文章

一、中断处理函数


void USART1_IRQHandler(void)

{

BaseType_t xHigherPriorityTaskWoken;

   xHigherPriorityTaskWoken = pdFALSE;

u8 cChar;

if(USART_GetITStatus (USART1,USART_IT_RXNE)!=RESET)

{

cChar=USART_ReceiveData(USART1);

xQueueSendToBackFromISR (xQueueRx,&cChar,&xHigherPriorityTaskWoken);

portYIELD_FROM_ISR(xHigherPriorityTaskWoken);

}

}

二、中断向量表配置


void NVIC_Configuration(void)

{

NVIC_InitTypeDef  NVIC_InitStructure;

NVIC_PriorityGroupConfig (NVIC_PriorityGroup_4);

NVIC_InitStructure .NVIC_IRQChannel =USART1_IRQn  ;

NVIC_InitStructure .NVIC_IRQChannelPreemptionPriority =6;

NVIC_InitStructure .NVIC_IRQChannelCmd =ENABLE ;

NVIC_Init(&NVIC_InitStructure );

 

}

三、串口接收任务创建


xQueueHandle xQueueRx;

void vPC_Communication_Task(void *pvParameters)

{

BaseType_t xHigherPriorityTaskWoken;

xHigherPriorityTaskWoken = pdFALSE;

u8 rx=0;

xQueueRx=xQueueCreate(20,sizeof(u8));

while(1)

{

if(xQueueReceiveFromISR(xQueueRx,&rx,&xHigherPriorityTaskWoken))

{

printf("%crn",rx);

}

vTaskDelay(1000/portTICK_RATE_MS );

}

 

}

四、主函数


int main(void)

{

    BSP_INIT();

 

    xTaskCreate(vLED_Task ,"led_task",50,NULL,1,NULL);

    xTaskCreate(vPC_Communication_Task,"vPC_Communication_Task",500,NULL,2,NULL);

    vTaskStartScheduler();

}


关键字:stm32  freertos  串口中断 引用地址:stm32 freertos 之串口中断

上一篇:STM32F407上调试freeRTOS问题
下一篇:stm32f407 adc的dma中断方式

推荐阅读

半导体制程微缩的难度日增,成本也越来越高昂,导致半导体业者必须走向超越摩尔定律(More than Moore)的道路。在这个背景下,先进封装与异质整合成为Semicon Taiwan 2018年的热门话题。然而,对封装业者(OSAT)而言,RDL First这道技术天险仍是眼前最大的障碍,必须跟设备、材料业者携手合作,才有机会早日突破。台湾半导体业界的年度盛事--Semicon T...
全球领先的电子元器件供应商基美电子(KEMET)公司现在宣布以EIA 3640封装尺寸为KC-LINKTM陶瓷表面贴装电容器提供完整的电容和电压产品。KC-LINK电容器具有极好的抗纹波电流性能,非常适合与快速开关的宽带隙(WBG)半导体一起使用,这使电源转换器能够以更高的电压、温度和频率工作,并实现更高的效率水平和更大的功率密度。该器件适用于直流总线、缓冲...
NVIDIA发布重磅应用、系统以及与宝马集团合作 NVIDIA提出了下一代计算的愿景,该愿景将全球信息经济的重心从服务器转移到了新型的强大且灵活的数据。 NVIDIA创始人兼首席执行官在其加州住宅的厨房中录制的六集同时发布的主题演讲中,介绍了NVIDIA最近对Mellanox的收购,还有重盼所归的基于NVIDIA Ampere 架构的新产品以及重要的最新软件技术。 这场...
作为网购用户,你可曾遇到过这些奇怪的情况?当登录自己的电商账户时,订单列表里出现了一些并不知情的订单;或者在自己的电子邮箱里出现了未曾操作过的确认邮件,邮件显示你在某一平台上的积分转入了其他账户。如果你曾遇到过相似的状况,那么很遗憾,你可能遭遇到了账户接管(ATO)攻击。ATO攻击又称账户接管攻击或身份测试攻击,即攻击者通过测试数千个...

史海拾趣

问答坊 | AI 解惑

精密差分输出仪表放大器解析

采用最先进技术的模数转换器(ADC)能够接受差分输入信号,从而允许将来自传感器的整个信号路径以差分信号的形式传送给ADC。这种方法提供了显著的性能优势,因为差分信号增加了动态范围,减小了交流声,并且消除了对地噪声。      图1a和1b所示 ...…

查看全部问答∨

初学单片机者必备

http://www.51dz.com/n.asp?dl=2&a ... 12812&i=wen3329 一个适合电子初学者的网站,欢迎大家来访问!!还提供各种电子元件套件。 初学单片机几个不易掌握的概念 随着电子技术的迅速发展,计算机已深入地渗透到我们的生活中,许多电子爱好者开 ...…

查看全部问答∨

KEIL PDF教程,二,三,四

KEIL PDF教程,二,三,四…

查看全部问答∨

怎样搭建基于wince系统的手机游戏开发环境

   怎样搭建基于wince系统的手机游戏开发环境     哥哥姐姐弟弟妹妹们 帮个忙哈 谢谢哦…

查看全部问答∨

求助:软件外包公司

有哪位朋友知道从事手机软件开发的中小型公司吗?能否提供一些,或者是我该如何才能查到这方面的公司信息?多谢。…

查看全部问答∨

问一个连接错误!大家来看看

错误内容: JiuArmDlg.obj : error LNK2001: unresolved external symbol CLSID_DataLinks JiuArmDlg.obj : error LNK2001: unresolved external symbol IID_IDBPromptInitialize ARMV4IDbg/JiuArm.exe : fatal error LNK1120: 2 unresolved ext ...…

查看全部问答∨

iesample与iesimple浏览器问题!

嘿各位!     在CE5.0上通过GPRS连接上网,当设置APN为CMNET的时候,WWW和WAP网站都能上,但是如果设置为CMWAP用我们的浏览器(仿照iesimple做的)就不能浏览网站,如果用微软自带的浏览器(iesample),设置代理服务器地址为10.0.0.172就 ...…

查看全部问答∨

Vxworks 中 tcp链接 client 端 recv时 如何设置超时等待?

最近做嵌入式网络通信 客户端在等待接受信息时 如果 服务器端 异常断开 无法判断已断开网络 recv函数一直傻等 如何设置才可以避免 其陷入等待 ?谢谢…

查看全部问答∨

求助:www.micrium.com上的ucos谁移植成功过?

自己试了一次,很多问题,没成功。那位在real view下成功过,请发一份代码到checkcode@126.com我想参考一下,第一次接触ucos,有点吃力。…

查看全部问答∨

2.4G方向性问题

现在国内2.4G的方案还不是太成熟,想讨论下2.4G方向性的问题,现在有什么好的办法能让2.4G方向性做的很精确,传输距离可调…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved