- 博客(22)
- 收藏
- 关注
原创 蓝桥杯—SysTick中断精准定时实现闪烁灯
注意:在中断中不能执行耗时过长的程序,中断通常用于处理需要立即响应的事件,如外部信号变化、定时器到期等。如果中断处理时间过长,会延迟对后续中断事件的响应,从而影响系统的实时性能。如果有需要执行耗时较长的程序,应该在中断处理程序中设置一个标志位,然后放在主函数的while(1)里执行。SysTick_Handler中断的周期不一定是固定的1毫秒,它的周期取决于你对系统定时器配置的时钟源和计数器 reload 值。但在蓝桥杯中,通常我们的时钟树配置都是一样的,时钟主频为80MHz,此时的。
2024-05-28 21:46:57
675
1
原创 我的创作纪念日
今天,对我来说是一个特别的日子——我成为CSDN编程社区创作者的第128天。在这个值得纪念的时刻,我想和大家分享我的初心、经历以及对未来的展望。
2024-05-28 21:45:32
607
原创 HT32F52352按键控制继电器的开关
继电器就相当于一个开关,当跳线帽接在H时,IN端输入高电平则继电器导通,IN端输入低电平则继电器断开,通过继电器可以实现小的电流控制大电流。配置PD1、PC2为输入模式,上拉模式,PB7、PB8为输出模式。点击File-->New-->HT32F52352-->OK。点击Bulid生成文件即可。
2024-05-20 20:32:11
149
1
原创 HT32F52352连接新版One云平台
修改此函数中的参数,以sprintf(text, "\"DBP\":{\"value\":%d},", DBP);为例,DBP需要与onenet中定义的标识符名称一致,且类型也需要一致。修改ONENET.c中的产品ID,设备密钥,和产品名称,与自己ONENET中的一致即可。再在ESP8266_WIFI_INFO中修改WIFI的名称和密码。
2024-05-20 19:58:32
283
原创 ST-Link固件更新
报错如下:Communication error with ST-Link.Try to start it.前几次可能会出现连接失败的情况,可以尝试换一下USB口,重新连接USB线的操作。解压后选择ST-LinkUpgrade.连接成功后如下,点击Yes即可更新.选择Device Connect.目前最新的版本为:3.15.6。
2024-04-29 12:08:20
969
原创 宝藏软件VOFA+:串口发送数据显示波形
在stm32端配置好串口并初始化后,在FileWater模式下,使用printf();注意:在printf函数的末尾必须加\n换行符。在使用printf前需要进行串口重定向。下载完如果接收不到串口的数据的话,重启一下试试。给大家推荐一款宝藏软件VOFA+,可以用来看波形。在此处配置成FileWater,串口参数配置好。X轴选择使用时间轴。在控件处把波形图拖到中央,然后放大。
2024-04-03 13:15:55
2884
2
原创 Keil5报错:explicit type is missing (“int” assumed)
错误原因:缺少返回类型。在C语言中,如果一个函数被定义但是没有明确指定其返回类型,则编译器会默认认为该函数的返回类型为int。解决方法:在出错函数前添加适当的返回值类型(如void)。
2024-02-14 18:38:51
1471
1
原创 XGZP6847A压力传感器
其核心部分是一颗利用MEMS技术加工的硅压阻式压力敏感芯片,外部施压作用在弹性膜上时电桥会产生一个与所加压力成线性比例关系的电压输出信号,传感器内部金属片发生微小的形变,导致电阻值的变化,通过测量阻值的变化,就可以得到压力的大小。2号端口连接ADC输入引脚用于读取电压值,3号端口连接电源3.3v或者5v,4号端口N/C不接,5号端口可以不接,1号、6号端口接地。真空包装机、真空搅拌机、真空破壁机、真空保鲜盒、真空泵等真空负压领域。洗衣机、啤酒机、咖啡机、吸尘器、净水机、压力仪表、气动元件等领域。
2024-02-07 22:09:56
5047
3
原创 Keil5使用逻辑分析仪(示波器)
点击运行即可产生波形,可以勾选上Show Cycles和Cursor,可以帮助我们计算高电平时间、低电平时间、周期。在输入所需要的引脚时可能会报错如下图所示,应该是魔法棒的Debug设置没有修改好,再好好检查一下。Parameter修改成-pSTM32F103C8(自己的板子是什么型号就修改成什么型号)然后点击debug调试按钮,找到逻辑分析仪,点击Setup设置需要观察的IO口。之后我们需要把Display Type修改成Bit,然后点击Close。这里我使用到的是PA1口,所以输入PORTA.1。
2024-02-06 23:24:09
2768
4
原创 Keil 5报错:error:too few arguments in function call
报错的原因是编写的函数括号内有参数,但是实际调用的时候没有加参数,只需要把参数加上就行了。调用时括号内不要漏了参数。
2024-02-04 15:48:24
5258
1
原创 STM32CubeMX添加DSP库
打开STM32CubeMX,找到Software Packs,选择Select Components.然后按照图片顺序选择DSP Library库即可。最后点击GENERATE CODE,生成代码。最后在main.c中引入即可。
2024-02-03 17:02:44
776
1
原创 MAX30102 模块-心率血氧传感器
1、概述MAX30102是一个集成的脉搏血氧仪和心率监测模块。它包括内部发光二极管,光电探测器,光学元件,以及低噪音的电子设备。MAX30102是一套完整的脉搏血氧仪和心率传感器系统解决方案模块,专为可穿戴设备的要求而设计。该设备保持一个非常小的解决方案的大小,而不牺牲光学或电气性能。集成到可穿戴系统中,只需要最少的外部硬件组件。通信是通过一个标准的I2C兼容接口。它有一个固定的I2C地址:0xAE HEX(用于写操作)和0xAF HEX(用于读操作)。
2024-02-02 14:07:43
14286
1
原创 Keil 5报错:One or more Devices Family Pack Devices are not present.
比如我这里缺少的是STM32F103C8的库,点击官网链接,搜索STM32F103C8,然后点击CMSIS Pack的STM32F1xx_DFP即可。进入页面,点击Download Recommened Pack,下载完即可。链接:https://www.keil.arm.com/devices/解决办法:去keil官网下载所需要类型的库即可。这是因为需要用到的库没有安装好。
2024-02-02 09:00:00
1766
原创 Keil 5报错:Please select first the target STM32F10x device used in your application.
原先我使用的是标准库,然后又下载了hal库,再打开标准库就出现了这样的报错。4、在Define处,添加刚才复制的STM32F10X_MD,用逗号隔开。2、选中并复制STM32F10X_MD。1、双击报错词条,跳转到error处。3、点击魔法棒,C/C++5、编译运行,成功解决。
2024-02-01 12:05:11
1390
2
原创 STM32——AT24C02(EEPROM )
AT24C02是一种2 Kb(256 × 8)串行电子可擦可编程只读存储器(EEPROM)芯片,支持标准I2C总线通信协议。AT24C02的编程操作是以页为单位完成的,每次最多可编程8个连续字节。具体来说,AT24C02的一页大小为8个字节,每次写入数据时,需要确保写入的数据不跨页。因此,如果要在AT24C02中写入10个字节的数据,需要先将前8个字节写入一个页,再将后两个字节写入另一个页。
2024-01-27 21:05:59
1811
原创 STM32 : I2C通信协议
多个不同的外设可以共享一条总线,该总线仅通过2条线(SCL和SDA)连接到处理器(或者控制器),这是与其他接口相比,I2C总线最大的优点之一。在多主机环境中,如果其中一台主机发送高电平,但是检测到线路为低电平(被另一台设备将其拉低),则停止通信,因为另一台设备正在使用总线。若SDA稳定为低电平,则为数据0。第九位为应答位,跟在每个字节(数据、地址字节)的后面,由接收方决定,应答成功为ACK,失败为NACK。注意,在读取从器件数据时,我们需要先进行写入操作,找到需要读取的设备寄存器地址,再进行读取操作。
2024-01-25 15:33:50
1582
原创 STM32用位操作点灯
即0~3对应0xFFFF的最后一个F,4~7对应0xFFFF的倒数第二个F,8~11对应0xFFFF的第二个F,12~15对应0xFFFF的第一个F。用这种方法在点多个灯的时候更加灵活方便,可以直接把要点的灯先用二进制0,1表示,再计算出十六进制数表示即可。由GPIO_PIN_ALL对应0xFFFF可知,0xFFFF每一位对应四个数,每个数对应一个PIN引脚。总结:前三位:E,后三位:7;前两位:C,中间两位:6,后两位:3.用移位操作来点灯,其原理和上面是一样的,本质都是0和1的表达。
2024-01-24 11:15:00
508
原创 Keil 5报错:Not enough information to list image symbols.
我们右键Application/User,左键Add Existing Files.找到存放.c文件的文件夹Src(source源文件)报错的原因可能是没有添加这个文件到工程项目中。找到其中没有添加的.c文件,点击Add即可。
2024-01-23 15:56:44
13109
2
原创 Keil 5报错:No section matches selector - no section to beFIRST/LAST.
我们右击Application/User,左击Add Existing Files to Group 'Application/User'...只需要在项目中添加启动文件:startup_stm32xx(对应型号).s 即可。选择文件类型为Asm Source file(汇编语言源文件)这是因为stm32工程项目的启动文件被遗漏了,没有添加进来。因为启动文件一般都是用汇编语言写的,所以后缀为.s。找到startup文件,点击添加即可。后缀为.s的文件指汇编语言源代码。
2024-01-22 17:23:50
1300
2
原创 Keil 5 报错:Flash Timeout. Reset the Target and try it again. Flash Download failed - “Corte-M3“
我一开始在网上查教程,说是flash锁存了,下载了ST-link Uitility后发现并没有被锁存。然后也尝试了很多方法:下载程序的时候按复位键,重启电脑,检查接线,改魔法棒、debug的设置都没用。最后换了一个新的板子就可以了。
2024-01-21 17:38:15
879
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人