STM32学习
Arlen.
这个作者很懒,什么都没留下…
展开
-
freeRTOS总结(四)
这个现象是由于等待信号量造成的,比如:当一个低级任务获取到信号量并处于运行状态,此时高优先级也需要获取信号量才能运行,但是他会由于信号量被低级任务占用而处于阻塞态,此时如果有一个中级任务出现,则会打断低级任务的执行,这将导致效果:中级任务优先级高于高级任务,非常危险!1.与队列一样任务每一次循环未得到信号量时就会进入阻塞态,以此来进行任务同步 ,当阻塞时间无限大时就会进入完全阻塞态(portMAX_DELAY)若不死等,则在阻塞时间过后就会执行该任务的下一步。8.获取信号量,则项数减一。原创 2022-09-22 11:59:11 · 299 阅读 · 0 评论 -
freeRTOS总结(三)
portMAX_DELAY 是指无限时阻塞,当出队但队列是空的时候这个任务就会一直死等至队列有数据,相当于进入阻塞态。1.0到4级的中断,freertos不能管理关闭或开启,5到15可以调用以FromISR结尾的API函数。关掉这些中断,就会保护当前执行的任务或者中断中的程序4.不会被中断打断,完整的执行。另外,如果中断函数中要向队列发数据或者收数据,需要在这个文件中声明队列。后向入队就是正常先进先出,同样该函数分为任务和中断中的执行函数。这些内核控制函数都会分为用在任务中的或者用在中断中的,原创 2022-09-22 09:37:50 · 328 阅读 · 0 评论 -
freeRTOSy应用总结(二)
4.往列表中添加列表项,有两种方式:1根据列表项值大小进行排序添加 2在列表末尾添加(此时列表的索引指向的列表项为表头)默认情况下迷你列表项为表头(LasTENd)2.任务恢复有直接恢复和中断恢复,中断恢复会判断此时优先级,高于正在运行的任务时会启用任务调度。1.挂起和恢复与删除和创建的区别是会保存堆栈和任务控制块内存。要用列表,必须先在主函数前添加列表的结构体与列表项的结构体。3.列表相当于链表,列表项相当于里面的节点。要去抓紧整专利了,先写这些吧。这是一个外部中断触发中断。原创 2022-09-19 12:21:28 · 105 阅读 · 0 评论 -
STM32基础补习——内存单元(一)
发现自己用了32一段时间,心里还是很虚,就是不明白里面一些原理和与运用相关的运作方式。原创 2022-09-11 13:36:08 · 728 阅读 · 0 评论 -
freeRTOS总结(一)
的函数TaskFunction_t的指针类型,可以用他来定义符合上面标准的函数;删除任务,可以在任意任务中,任意触发情况下删除某一创建后正在运行的任务,删除后将不再运行。,这是将TaskFunction_t定义为了一个指向返回值为void,参数为void。其中,TaskFunction_t为typedef定义的类型,typedef void (TaskHandle_t * 为typedef void * TaskHandle_t;原创 2022-09-05 23:19:52 · 241 阅读 · 0 评论 -
stm32常用的IO输出输入设置方式总结
解答:对于F1来说,推挽输出和上下拉无关,对于F4来说,推挽输出的上拉和下拉电阻的作用是控制在没有输出时IO引脚电平,因为LED和蜂鸣器分别实在高电平和低电平下为关闭,所以在初始化IO口时设置为相应的上下拉。其中还有一些疑问:为什么有些推挽输出需要上拉,有些需要下拉?比如蜂鸣器的设置就是推挽下拉,而LED的设置为推挽上拉。并配置初始电平 用reset 和set那个函数。基本的设置,下面链接是我看过的最清晰简洁的介绍。原创 2022-09-04 10:47:29 · 1421 阅读 · 0 评论 -
stm32 UART实现要点
项目场景:stm32的UART通信需要注意的点,以正点原子代码为例。应用于STM32CT6,其实应用于哪个平台都无所谓,最多修改引脚。问题描述提示:这里描述项目中遇到的问题:32明显比51的UART调用要复杂一些,以下标注几个点帮助以后回忆。@1 初始化问题,结构体参数具体赋值略 RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1|RCC_APB2Periph_GPIOA, ENABLE); //使能USART1,GPIOA时钟 GPIO_Init原创 2022-04-02 20:24:15 · 275 阅读 · 0 评论 -
【库函数实现按键检测】
文章目录前言一、GPIO输出输入方式理解二、使用步骤三、主题:用库函数写按键检测前言提示:这里可以添加本文要记录的大概内容:看了原子的课程,觉得用了位操作实现上拉下拉输入在小程序量的代码里不一定有库函数好用,所以我又写了库函数版本的按键检测。提示:以下是本篇文章正文内容,下面案例可供参考一、GPIO输出输入方式理解看了这么多讲各种IO口方式类别的,觉得初学者只需要会用推挽输出和上拉下拉输入即可。推挽输出(GPIO_Mode_Out_PP)一般IO输出:0 1都可上拉输入(GPIO_Mo原创 2022-03-18 15:43:39 · 351 阅读 · 0 评论 -
【stm32F1_GPIO初始化函数的参数含义】
文章目录前言一、LED 点灯实验二、疑问记录1.问题描述2.问题解决总结前言之前学习过51,现在转学32,由于课题组需要,我需要尽量短的时间内掌握stm32的用法以及Freertos的操作系统。从现在开始记录所学,为了督促,为了回顾。一、LED 点灯实验首先,参考正点原子的代码,stm32在使用某个外设前都需要使能时钟,点灯需要调用最简单的GPIO外设来驱动,所以需要GPIO的始终使能。接下来再对GPIO的寄存器进行设置,调出来适合的IO口参数。同样根据正点原子的例程,将以上内容写在外设专门的原创 2022-03-16 09:31:44 · 1132 阅读 · 0 评论