- 博客(45)
- 收藏
- 关注
原创 stm32f407移植modbus协议
stm32f407移植modbus协议,无法进入串口发送、接收中断问题,对比代码后发现是缺少了串口的中断使能,需要将串口的整个使能打开,再打开发送中断使能。打开整个使能才能使得发送中断使能有效。最后可以进入串口中断。
2025-12-11 11:37:57
277
转载 C语言##含义
举个例子,假设我们想要创建一个宏,用于打印变量名及其值:return 0;输出结果:age = 25在这个例子中,#x 被转换为 “age”,因此宏展开后相当于:字符串化操作在生成调试信息或错误消息时特别有用,因为它允许我们在运行时获取变量名。
2025-08-06 08:50:46
107
原创 STM32DMA 正常模式和循环模式的区别
正常模式:hdma_adc1.Init.Mode = DMA_NORMAL;只启动一次数据转运,转运完需要调用DMA的停止指令,才能停止,如果想一直转换数据就需要每次转运数据后停止DMA再开启DMA,并且在串口,ADC初始化时需要启动一次DMA。就一直转运,无需停止DMA,自动更新数据。每次转运数据后停止DMA再开启DMA,
2025-07-05 21:08:03
385
原创 STM32 RTC亚秒
3、亚秒的设置,在RTC_TimeTypeDef结构体中有亚秒的属性SubSeconds读出即可,默认状态下不读取,因项目要求5ms记录一次时间所以使用到该属性。2、生成的代码,需要对时钟进行初始化,仅需一次初始化即可。rtc时钟功能实现:rtc模块在stm32内部,由电池或者主电源供电。1、stm32cubemx 代码生成界面设置,仅需开启时钟源和激活日历功能。
2025-02-09 20:18:06
655
原创 stmf103c8t6 IAP不成功的问题
错误的代码,应该只保留#define USER_VECT_TAB_ADDRESS #define VECT_TAB_BASE_ADDRESS FLASH_BASE #define VECT_TAB_OFFSET 0x00002000U 这三个。stmf103c8t6 iap不成功的问题。在于中断向量表错误。如下图是错误的代码:会导致无法进中断从而uwtick 无法计数程序无法运行。
2024-09-05 18:39:52
368
原创 TCP 固定间隔发送信息
tcp发送间隔不固定的问题,使用 lwip_setsockopt设置地址复用和超时发送功能返回 -1,原因lwip没开启lwip_setsockopt ,需要在lwipopt 和opt.h中开启相关定义。在程序中调用setSocket();如图即可开启相应功能。
2024-01-24 17:49:17
614
原创 LWip UDP 编写
下方的代码包含连接、关闭,UDP发送原理是将 “udp控制块” 发送给远程服务器,由于udp无需连接代码较为简单,在发送时如果要更改大小端及编号需修改发送的数据,当发送的字节超过1500以后要开启相关设置,代码中temp是发送的数组,单位uint16_t(unsigne short)数组。lwip使用回调机制返回数据,当接收到网卡数据后,自动调用相关函数分析数据包是那种数据包(udp、tcp),再把数据包发送给相关协议栈处理。udp协议编写流程: 连接-发送数据-关闭客户端。udp接收函数的编写。
2023-05-28 12:20:18
1453
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
2