一、中断处理函数
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();
}
上一篇:STM32F407上调试freeRTOS问题
下一篇:stm32f407 adc的dma中断方式
推荐阅读
史海拾趣
随着公司实力的不断增强,AB Connectors Ltd开始将目光投向国际市场。公司积极参加国际电子展会和商务洽谈活动,与海外客户建立了广泛的合作关系。同时,公司还通过设立海外办事处和建立分销网络等方式,进一步拓展国际市场。这些举措不仅提高了公司的知名度和影响力,还为公司的快速发展提供了有力支持。
AB Connectors Ltd成立于上世纪九十年代初,当时电子行业正处于飞速发展的黄金时期。公司创始人张三和李四凭借对连接器技术的深刻理解和对市场需求的敏锐洞察,决定创立这家公司。初创时期,公司面临着资金短缺、技术瓶颈和市场认可度低等挑战。然而,通过不懈的努力,AB Connectors Ltd成功研发出了一款具有竞争力的新型连接器产品,并在国际电子展览会上获得了广泛关注。这为公司打开了市场大门,奠定了发展的基础。
近年来,随着人工智能、物联网等新兴技术的快速发展,半导体行业正面临着前所未有的变革。Crystal Semiconductor Corp积极应对这一挑战,加大了对新兴技术的研发投入,推出了一系列适应市场需求的新产品。同时,公司还加强了与上下游企业的合作,共同推动产业链的发展。
随着全球环保意识的提高,电子行业对环保的要求也越来越高。Aplus Flash Technology Inc公司积极响应环保号召,将环保理念融入产品设计和生产过程中。公司研发出了一款低能耗、环保型的闪存芯片,不仅降低了产品的能耗和碳排放,还提高了产品的可回收利用率。这一创新举措得到了消费者的广泛认可和支持,也为公司在市场上树立了良好的环保形象。
随着公司规模的扩大和技术的不断积累,AVAGO公司开始寻求多元化的发展道路。除了继续深耕半导体领域外,公司还积极拓展其他相关领域,如传感器、无线通信等。同时,公司还与其他行业的领军企业建立了紧密的战略合作关系,共同推动技术创新和市场拓展。
随着电子行业的快速发展,Bel Fuse意识到要保持竞争力,必须不断进行技术创新。因此,公司加大了研发投入,推出了一系列具有创新性的电子元件产品。这些产品不仅满足了客户的需求,还为公司带来了可观的市场份额。同时,Bel Fuse也开始积极寻求全球扩张的机会,通过设立海外分公司和建立销售网络,进一步提升了公司的全球影响力。
采用最先进技术的模数转换器(ADC)能够接受差分输入信号,从而允许将来自传感器的整个信号路径以差分信号的形式传送给ADC。这种方法提供了显著的性能优势,因为差分信号增加了动态范围,减小了交流声,并且消除了对地噪声。 图1a和1b所示 ...… 查看全部问答∨ |
|
错误内容: 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 ...… 查看全部问答∨ |
|
嘿各位! 在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,有点吃力。… 查看全部问答∨ |