- 博客(12)
- 收藏
- 关注
原创 hal库进阶指南
一个单片机 却要调用多个设备进行通信,理论上在时间的角度是有冲突的——他们必然不能同时调用需要合理的分配调用顺序都在主函数中调用 是按照程序执行顺序来调用的 即从上到下但是并不是所有外设都可以跟上软件的速度 有些要减速传统的写法是 例如10ms减速中断中减速变量++ 为10时置零 为零时执行这个函数有一个bug就是很可能减速变量已经为0了 但是当前执行的程序语句时间很长超过了1ms 以至于还没有执行函数 减速变量就为1了 跳过了一次执行为了解决这个bug不再用减速变量进行减速。
2025-04-27 18:08:31
297
原创 as608使用指南
为了方便调试 我们将串口7发送的数据都用串口1输出出来 但为了避免上述的printf问题 单独写了。同时 为了避免usart1上电初始化默认发送标志位为1。ps:不一定两次读取指纹 一次读取也可以直接存入指纹库。MRS编译器 工程默认会初始化USART1。本文以串口7为例 调用as608。(避免了遇到0停止打印的问题)
2025-04-25 17:25:16
190
原创 百为电子 BY8301-16P 语音模块
1.发送数据的时候需要while进行等待 因为软件执行速度非常快 for循环可能很快就执行到下一个了 但是硬件上并没有发送出去 所以到等待。不写的话 电脑发送完数据 找不到发送中断处理函数 程序会卡死)usb转ttl模块gnd接到降压模块gnd 做到两个模块共地。(需要注意的是**只有RX 代码中中断也需要写上中断处理函数。喇叭不分正负 因为向内吸和向外是一样的 都能正常发声。因为中断处理函数 既是发送中断也是接收中断。(可以只接RX 测试一下接收)注意是3.3v的TTL。2.串口要清楚标志位。
2025-04-24 21:17:29
229
原创 按键消抖详析
即 只有当 key_val与key_val^key_old 全为真的时候 key_down 才有值。key_val^key_old 0000 0101 (检测到键值变化 电平变化 为真)也就是说 通过记录key_old即上一次的键值 成功读取了上升沿和下降沿。按下的时候 key_val记录键值 为真 & 真才会为真 否则为0。key_val^key_old 0000 0000 (为假)key_val^key_old 0000 0101 (为真)key_val^key_old可以记录电平是否发生变化。
2025-04-22 11:51:48
927
原创 CH32 沁恒标准库简明使用手册
调库是快速掌握应用方法的最快途径本文所有内容均建议直接复制并在编译器中调用 修改 烧录验证功能配置(GPIO PB0)应用层:Timer配置(tim3)还要回的点是如何得到自己需要的定时时间eg1msuart配置(uart3附录(ch32v307VCT6所有引脚定义
2025-04-16 20:51:08
370
原创 蓝桥杯单片机组考前 官方通知测试 熟悉流程
4.点击未读信息 复制密码(我这个是已经读过的)6. 上传答案 回答问题(上传即代表已经提交)3.登录系统:用准考证号和身份证号登录。5.下载试卷 输入密码 解压文件。2.输入考点ip 进入考试系统。
2025-04-07 19:08:04
275
原创 第一次打开STMCubeMX报错:Error downloading the following files: mcusFeaturesAndDescription.json ._ tmp_
STMCubeMX报错
2024-11-05 17:49:23
1013
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人