- 博客(4)
- 收藏
- 关注
原创 RT_thread 2(线程同步)
c复制代码 rt_err_t rt_sem_control(rt_sem_t sem, int cmd, void *arg);==rt_sem_t ==是 RT-Thread 操作系统中用于表示信号量的类型。⽤于获取信号量(P 操作),线程会尝试获取信号量,如果信号量的计数值为 0,线程会进⼊等待状态,直到信号量被释放或超时。邮箱就像是⼀个固定容量的。
2025-03-08 13:20:25
1245
原创 RT_thread 学习笔记 1(定时器)
=RT_TIMER_CTRL_SET_TIME :改变定时器的超时时间。RT_TIMER_CTRL_SET_ONESHOT :设置定时器为单次定时器。RT_TIMER_CTRL_SET_PERIODIC :设置定时器为周期性定时器====注意:`rt_err_t` 是一个枚举类型,定义在 RT-Thread 的头文件中(通常是 `rtdef.h`)。==rt_timer_control 此函数必须创建一个这种类型变量承接不然会报错(目前不知道啥原因)==可以类比为中断(不能在里面放很多耗时的操作)**
2025-03-08 13:19:27
590
原创 蓝桥杯嵌入式 的pwm问题
这里的PWM频率调整 没有考虑到ARR取值范围会溢出的问题 比如说你需要设置1000hz 按理来说 ARR应该是79999 但是实际上TIM-ARR是14463 是因为上限是65535之后溢出所导致的 所以我们要对溢出的ARR进行分频处理// 原始代码的频率计算没有考虑ARR溢出ARR寄存器是16位,最大值65535当频率较低时,arr值会超过65535例如:80MHz/1000Hz = 80000 > 65535定时器频率计算公式:f = clk/((PSC+1)*(ARR+1))
2025-03-07 16:14:13
309
原创 HAL库学习笔记1 移植江科大oled
第三步 修改底层 由于cudemx已经帮我们配置好了GPIO 所以不用标准库的初始化了如同。第二步配置cudemx如图 我用的PB8 PB9。第五步 写oled的任务函数并放入 任务调度器。第一步添加江科大底层到自己工程文件里如图。第四步在main函数里初始化oled。
2024-09-13 20:36:41
732
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人