stm32
文章平均质量分 60
stm32
慵懒之龟
这个作者很懒,什么都没留下…
展开
-
NRF24L01-2.4G模块的使用
2.4Ghz全球开放ISM频段免许可证使用最高工作速率2Mbps,高效GFSK调制,抗干扰能力强,特别适合工业控制场合126频道,满足多点通信和跳频通信需要内置硬件CRC检错和点对多点通信地址控制低功耗1.9-3.6V工作,待机模式下状态为22uA;掉电模式下为900nA内置2.4Ghz天线,体积小巧15mm X29mm模块可软件设地址,只有收到本机地址时才会输出数据(提供中断指示),可直接接各种单片机使用,软件编程非常方便。原创 2024-03-06 15:57:18 · 888 阅读 · 3 评论 -
EEPROM连续读写失败,芯片手册中的小bug
那么证明我们的函数是没有问题的,函数没有问题直接运行却不能打印出数据,只可能是因为直接运行的时候每个字节的连续读写速度太快了,EEPROM反应不过来,而我们在调试的时候一步一步点击,执行速度变得非常慢,读写就成功了。找到了问题所在,我就开始思考,代码都是依照AT24C02芯片手册来写的,怎么就出问题了呢,当时写的时候还特意注意了一下有关连续写入之间的间隔,也没有看到哪里明确规定了两次写入必须要间隔多长时间才能进行下一次写入操作。,第一次是最开始的介绍部分,给了一段这样的内容。自定时写周期(最大5毫秒)原创 2024-02-18 22:22:10 · 443 阅读 · 0 评论 -
stm32中u8数据移位8位赋值给u16,u8是否溢出为0x00
由此我们可以得到一个简单的推论,计算机在处理数据时是不看你的数据到底有多少位的,之所以要规定一下常用的数据类型,是为了显示以及方便存储管理和避免地址浪费。在进一步讲,就算你在计算时用了100位,计算机也大概率不会管(没有验证过),只不过在接受这个100位的数据时受到数据类型的位数限制而显示不全罢了。正常在我的猜想里面是,u8移动8位导致数据溢出,整个u8无论之前是什么值,都会变为0x00,然而实际上并不会。原创 2024-02-17 12:56:39 · 388 阅读 · 2 评论 -
关于定时器中断与uart初始化冲突的感想
按顺序,首先在deinit外设之后,此时外设会确定地在无效状态,包括中断,然后先设置nvic,只一次;于是,就取决于你的具体编程逻辑了:假设捕获中断时由中断引发计算并把结果通过usart发送,显然在enable这个捕获中断前,usart必须已经初始化好并且等待发送,否则出什么问题,你得处理好了。就如我的程序,当设置捕获中断允许时,你必须假设在设置的下一条指令就可以发生中断,而发生中断之后的运行动作,必须是你预期好的,因此这个时刻必须是必须的后续外设都已经合适地初始化和正常运行、等待它。原创 2024-02-15 10:35:18 · 288 阅读 · 0 评论 -
stm32单片机TIM3定时器中断与usart串口初始化冲突
STM32定时器2PWM输出和USART1配置冲突问题原创 2024-02-14 18:33:13 · 538 阅读 · 1 评论