- 博客(28)
- 收藏
- 关注
原创 KEIL MDK 左下角 提示 “no browse info for symbol in this context”
编译公司项目时发现明明正确添加了头文件路径,并且已成功编译无报错 无警告,且已勾选Browse Information,却还是无法使用F12(跳转变量或函数的定义),左下角并提示以下错误。
2025-01-17 15:42:46
585
1
原创 LVGL——基础对象篇
LVGL中,当发生用户感兴趣的事情时,可以触发回调事件,以执行相关的操作。样式用于设置部件的外观,以优化显示界面和实现用户交互。例如一下就是单独设置指示器的函数。LVGL以左上角为原点。
2024-12-29 13:12:55
590
原创 FreeRTOS学习14——时间管理
任务的操作系统都需要时钟节拍,FreeRTOS 也不例外。从 上 面 的 代 码 可 以 看 到 , xTickCount 在 定 义 时 , 被 赋 了 初 值 , 初 值 由 宏 定 义configINITIAL_TICK_COUNT 定义,在通常情况下系统使用节拍计数器的初值都是设置为 0。
2024-11-19 13:18:48
703
原创 FreeRTOS学习13——任务相关API函数
在 FreeRTOS 官方在线文档的网页页面中,通过查看 API 参考,可以看到官方列出的FreeRTOS 任务相关的 API 函数,如下图所示:函数描述获取任务优先级设置任务优先级获取所有任务的状态信息获取单个任务的状态信息获取任务 Tag获取当前任务的任务句柄获取指定任务的任务句柄获取空闲任务的任务句柄获取任务的任务栈历史剩余最小值获取任务状态获取任务名获取系统时钟节拍计数器的值中断中获取系统使用节拍计数器的值获取任务调度器状态获取系统中任务的数量。
2024-11-13 22:00:20
1117
原创 FreeRTOS学习12——内核控制函数简介
FreeRTOS 提供了一些用于控制内核的 API 函数,这些 API 函数主要包含了进出临界区、开关中断、启停任务调度器等一系列用于控制内核的 API 函数。本章就来学习 FreeRTOS 的内核控制函数。
2024-11-13 11:57:28
629
原创 FreeRTOS学习10——任务切换
函数 taskSELECT_HIGHEST_PRIORITY_TASK()用于将 pcCurrentTCB 设置为优先级最高的就绪态任务,因此该函数会使用位图的方式在任务优先级记录中查找优先级最高任务优先等级,然后根据这个优先等级,到对应的就绪态任务列表在中取任务。的前导零,然后使用 31(变量 uxReadyPriorities 的最大比特位)减去得到的前 导零,那么就得到了变量 uxReadyPriorities 中,最高位 1 的比特位。中最高位1的比特位的巧妙方法。
2024-11-07 20:35:36
1321
原创 MDK下载时报错:Error: Flash Download failed - Target DLL has been cancelled
MDK下载时报错:Error: Flash Download failed - Target DLL has been cancelled。
2024-11-02 14:13:25
3690
原创 FreeRTOS学习8——开启任务调度器API函数简介
任务调度开启任务调度器API函数简介**函数** **vTaskStartScheduler()****函数** **xPortStartScheduler()****函数** **prvStartFirstTask()****函数** **vPortSVCHandler()****注意**补充**出栈/压栈汇编指令详解**函数。
2024-11-01 17:13:55
784
原创 FreeRTOS学习7——列表相关API函数及其相关实验
函数vListInsert(),是将待插入列表的列表项按照列表项值升序进行排序,有序地插入到列表。
2024-10-23 16:21:53
1034
原创 FreeRTOS学习6——列表和列表项
列表是 FreeRTOS 中的一个数据结构,概念上和链表有点类似,列表被用来跟踪 FreeRTOS中的任务。列表项就是存放在列表中的项目列表相当于链表,列表项相当于节点,FreeRTOS 中的列表是一个双向环形链表列表的特点:列表项间的地址**非连续的**,是人为的连接到一起的。列表项的数目是由后期添加的个数决定的,随时可以改变**数组的特点:**数组成员地址是连续的,数组在最初确定了成员数量后期无法改变在OS中任务的数量是不确定的,并且任务状态是会发生改变的,所以非常适用列表(链表)这种数据结构。
2024-10-22 21:27:44
785
原创 FreeRTOS学习4——临界段代码保护及调度器挂起与恢复及其API函数内部实现详解
临界段代码也叫做临界区,是指那些必须完整运行,不能被打断的代码段(
2024-10-22 20:19:35
1027
原创 FreeRTOS学习5——中断管理
让CPU打断正常运行的程序,转而去处理紧急的事件(程序),就叫中断中断请求:外设产生中断请求(GPIO外部中断、定时器中断等)响应中断:CPU停止执行当前程序,转而去执行中断处理程序(ISR)退出中断:执行完毕,返回被打断的程序处,继续往下执行。
2024-10-21 21:09:35
708
原创 FreeRTOS学习1——基础知识了解
同等优先级任务轮流地享有相同的 CPU 时间(可设置), 叫时间片,在FreeRTOS中,一个时间片就等于SysTick 中断周期。:主要是针对优先级不同的任务,每个任务都有一个优先级,优先级高的任务可以抢占优先级低的任务,被抢占的任务将会进入就绪态。:主要针对优先级相同的任务,当多个任务的优先级相同时, 任务调度器会在每一次系统时钟节拍到的时候切换任务。):当前执行任务将会一直运行,同时高优先级的任务不会抢占低优先级任务。除了运行态,其他三种任务状态的任务都有其对应的任务状态列表。
2024-10-19 19:51:19
411
原创 KEIL调试之 Connection refused due to device mismatch...
KEIL调试之 Connection refused due to device mismatch…首先确认芯片型号是否选择错误,以及能否检测到芯片。确认后,直接在debug->settings->Pack 中的固件包ENable取消勾选,就能正常下载了
2024-10-15 19:17:30
665
原创 MDK KEIL 烧录STM32下载错误:Flash Timeout.Reset the Target and try it again.解决办法大全
解锁成功后ST-LINK上位机软件会自动连接芯片,这时发现flash已经全部被擦除了(因为flash读出来都是0xFFFFFFFF),这就是芯片的保护机制,主要防止一些想不劳而获的人通过调试器窃取芯片内的软件。当时我使用的位stm32c8t6芯片,该芯片flash大小为64kb,但分给代码的只有32kb,其他空间用于存储一些芯片出厂时就固化在芯片中的一些程序 如bootloader以及ROM的程序。L2 是不可恢复读保护,此状态下,不可恢复到其他的状态,同时芯片里的程序不能再升级 类似OTP了;
2024-10-12 21:41:55
4275
原创 KEIL_仿真使用虚拟示波器
PORTX.Y(X为gpio口,Y为具体引脚号) ,添加完毕直接close即可。2.勾上show Cycles 和 Cursor 便于观察周期。Parameter中文本根据自己芯片型号改就行了。将Dialog DLL中文本改为。1.开始编译后即有波形显示。
2024-08-14 13:59:21
775
原创 74hc245芯片功能简介
DIR(即图中AB/BA引脚): 方向引脚,控制数据的传输方向。当DIR引脚为高电平时,数据从A端传输到B端;当DIR引脚为低电平时,数据从B端传输到A端。A1-A8:数据传输引脚B1-B8:数据传输引脚OE(图中CE引脚)高电平时,输出端口处于失能状态;OE为低电平时,输出端口处于使能状态。
2024-06-27 00:03:49
4759
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人