- 博客(7)
- 收藏
- 关注
原创 hal库+STM32实现CAN的收发通信
首先使用id 111 122发送数据,都没有收到回复,id改为123发送之后,收到了STM32回复给我的数据,又使用id 345发送也是没有回复,再次使用id 456发送后收到了回复。我使用的STM32F407有两个can can1对应的过滤器有0-13 can对应的是14-27,每个can可以设置最多十四个过滤器。can的接收可以设置过滤器来进行筛选,根据参数的不同有不同的作用,需要详细了解可以查看相关的博客,这里只举例一种常用的方式。打开中断,发送中断根据需求可用可不用,接收中断必须使能。
2025-05-13 10:11:52
659
原创 移植MODBUS通信实现CS1237(ADC)AD5422(DAC)热电偶(MAX31856)的数据采集
级联模式的好处就在于不会受到MODBUS地址数量的限制,可以将所有的地址全部设置为1,PLC只与第一块PCB进行数据交互,之后的所有数据都由modbus一层一层传递到第一块PCB中进行保存。如果使用级联模式,那么pcb就需要将modbus主机协议也进行移植,每块pcb板需要至少两个rs485,一个作为从机,一个作为主机。这里的dat是写入到cs1237内部寄存器的值,根据需求(测量电压,电流,或者是电阻)并根据芯片手册去写入相对应的值。写寄存器 和读寄存器函数 reg的值不懂可以看芯片手册有详细介绍。
2025-04-22 15:57:13
827
原创 使用HAL+硬件IIC驱动SSD1309显示屏
主函数里调用OLED_Init 和OLED_Clear后就可以通过OLED_ShowStr显示字符。还有从设备的地址 我的是0X78,写命令是从0X00开始,写数据是从0x40开始(内部芯片是。直接在将HAL库的I2C发送函数放在要封装的OLED写数据函数和写命令函数里即可。初始化的话建议对照一下买设备商家所给的程序里的初始化顺序。cubemx进行IIC的配置即可。
2024-11-08 17:02:23
596
原创 STM32F407+HAL库+W5500实现TCP通讯 个人项目总结
推荐阅读此博客 cv即可成功首先需要一个可以进行串口调试的工程,方便进行调试。1.在W5500官网移植库文件重点是Ethernet这个文件夹将里面的 socket.c,socket.h,wizchip_conf.c,wizchip_conf.h,还有根据W5500文件夹里的w5500.c和w5500.h移植到自己的工程里面。然后再创建一个.c和.h文件 我的叫w5500_port_hal.c 和w5500_port_hal.h 记得将.h文件链接到工程里。
2024-10-24 17:34:29
1475
12
原创 基于STM32F407的OTA升级 boot和app设置
开始位置和boot里你的偏移地址是一样的 我从0x08000000这个位置偏移了0x10000那么我这边就设置为0x08010000 大小和boot的一样 可以根据你需求去改,我为了方便随便写的够大就行 但是也不要超过你芯片的flash大小。boot最重要的就是实现地址之间的跳转,像升级系统之类的,都是在此基础上衍生,写逻辑代码和flash读写。Message_ID.Message是我用来缓存串口接收的数据的数据,后期根据需求来搞。这边需要注意的就是把IROM1这个位置的开始位置和大小设置下。
2024-08-23 09:36:25
1514
5
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人