- 博客(4)
- 收藏
- 关注
原创 AD9834驱动(32hal库+c2000移植)
代码移植性的话也是比较好的,如果改到其他mcu直接改ad9834_sentdata函数和一些宏定义就ok了,拿移植到c2000(drivelib开发)来说,把。(需要将控制字的SIGN/PIB位清零)我的9834使用的时钟是75MHz的,如果不一样可以通过改宏定义MYAD9834_SYSTEM_COLCK来调整。写操作选择,将28位频率寄存器用作两个14位寄存器的模式(需要将控制字的B28位清零)sine波和三角波的选择,主要是靠MODE位来控制,置1时为三角波,清零时为sine波。
2025-04-28 15:26:11
363
原创 stm32动态修改ARR后pwm输出异常问题
没搞明白的是在HAL库里__HAL_TIM_SetAutoreload通过宏定义成__HAL_TIM_SET_AUTORELOAD,按理来说该两个函数的使用应该没区别。直到发现将函数__HAL_TIM_SetAutoreload换成。看看有没大佬知道是啥情况T_T。试过很多方法都没解决。
2025-02-07 19:48:23
272
2
原创 【学习笔记】短按长按双击的代码实现
短按双击区别:双击是连续的两个短按,即需要一个变量(timer2)计时当第一个短按后的一段时间内有无第二个短按,timer2变量需要在从有效状态转变回无效状态时开始计时(即松手后)短按长按区别:按下时间不同,可利用一个变量(timer1)计时有效状态的持续时间判断是长按还是短按,timer1变量需要在刚进入有效状态时开始计时,在下一次进入有效状态时清零。此外还需要一个变量(key_dwn_num)记录连续短按的次数,在timer2计时结束时根据此变量判断是单短按还是双短按(即双击)
2025-01-17 14:44:16
631
原创 32ADC单通道连续模式只能采样一次问题,adc值不更新( CUBMX+HAL)
结果adc_value的值只有复位时有效,然后值一直不变(IN15的IO口接了个电压值不断变换的信号)只要在cubemx中使能Low Power Auto Wait,代码不变,即可正常工作。使用ADC2,单通道(IN15)连续模式。在main.c中添加如下函数。
2025-01-16 12:55:16
537
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人