mokongking

2023年7月24日 #

EEPROM读写存入结构体

摘要: 在STM32L0中操作EEPROM本来参考了上篇操作FLASH的方法,多多少少都有些问题。我觉得可能是结构体在转换成其他变量的时候出了问题。 比如下面这段代码,在Windows上可以正常运行(使用g++编译),但是在单片机上就会卡死。 typedef struct { uint8_t IDD; ui 阅读全文

posted @ 2023-07-24 14:19 虎啸岳林 阅读(137) 评论(0) 推荐(0) 编辑

stm32cubeide 内部flash以结构体形式读写数据

摘要: 在FLASH中读写结构体 ⚠ 注意事项 编程(写数据)地址要对齐 写数据时,我们要指定写入的地址,如果写入地址为非对齐,则会出现编程对齐错误。比如遵循32位(4字节)地址对齐,你的地址只能是4的倍数。0x08001000正确,0x08001001错误。不同型号对齐宽度可能不同,有的32位、有的128 阅读全文

posted @ 2023-07-24 14:16 虎啸岳林 阅读(223) 评论(0) 推荐(0) 编辑

2023年7月6日 #

#if、#else、#endif、#elif、#ifdef、#ifndef的区别和使用

摘要: 常用的条件编译 #if, #elif,#else,#endif,#ifdef、#ifndef 看名字就知道,跟我们平时用的if、elseif、else是 一样的,不同的是这里一定要记得 #endif。 #if 条件 1 代码 1 #elif 条件 2 代码 2 #else 代码段 n+1 #endi 阅读全文

posted @ 2023-07-06 14:24 虎啸岳林 阅读(391) 评论(0) 推荐(0) 编辑

结构体,指针函数和数组初始化

摘要: struct _m_malloc_dev { void(*init)(uint8_t);//初始化函数 uint8_t (*perused)(uint8_t);//内存使用率 uint8_t *membase[SRAMBANK];//内存池管理 srambank个区域的内存 uint16_t *me 阅读全文

posted @ 2023-07-06 13:57 虎啸岳林 阅读(110) 评论(0) 推荐(0) 编辑

正点原子内存管理实验室,keil mdk 和stm32cubeide gcc的函数替换

摘要: https://www.cnblogs.com/RegressionWorldLine/p/11968467.html转载记录下 STM32 .ld链接文件分析及一次bug解决过程 问题描述 原子板的代码中含有一个关于使用外部SRAM的功能,由于本人的开发板的SRAM只有512K,因此稍微修改了一下 阅读全文

posted @ 2023-07-06 10:25 虎啸岳林 阅读(640) 评论(0) 推荐(0) 编辑

2023年7月5日 #

软件IIC SDA输入输出

摘要: SDA 输入输出模式改变 方式一 SCL线可以配置推挽输出,开漏输出(有上拉电压存在)都可,因为不用兼具输入扫描功能; SDA线必须配置开漏输出,电路上要外加上拉电阻,因为要兼具输入扫描功能, 方式二 对应的gpio口配置代码的改变 #define SCCB_SDA_IN() {GPIOG->CRH 阅读全文

posted @ 2023-07-05 11:40 虎啸岳林 阅读(173) 评论(0) 推荐(0) 编辑

C语言中if(a);if(!a);if(a!=0);if(a==0)有什么区别?

摘要: if(a):如果a为非0数字或字符那么就为真,if条件成立,反之不成立。 if(!a):如果!a为真,也就是a为0时,if条件成立,反之不成立。 if(a!=0):如果a不等于0,则使得if条件成立,反之不成立。等价于if(a)。 if(a==0): 如果a等于0,则使得if条件成立,反之不成立。等 阅读全文

posted @ 2023-07-05 10:49 虎啸岳林 阅读(76) 评论(0) 推荐(0) 编辑

2023年6月30日 #

基地址 (0X60000000 + (0X4000000 * (SRAM_FSMC_NEX - 1)))

摘要: SRAM_FSMC_NEX = 3(0X60000000 + (0X4000000 * (SRAM_FSMC_NEX - 1))) = (0X60000000 + (0X4000000 * (3- 1))) =(0X60000000 + (0X4000000 * 2))=(0X60000000 + 阅读全文

posted @ 2023-06-30 14:31 虎啸岳林 阅读(12) 评论(0) 推荐(0) 编辑

2023年6月15日 #

STM32CUBEIDE RTC

摘要: void setTime() { RTC_DateTypeDef sDate; RTC_TimeTypeDef sTime; sDate.WeekDay = 4; sDate.Month = 6; sDate.Date = 8; sDate.Year = 23; HAL_RTC_SetDate(&h 阅读全文

posted @ 2023-06-15 17:10 虎啸岳林 阅读(61) 评论(0) 推荐(0) 编辑

DAC+定时器 生成正弦波,三角波

摘要: 正弦波生成 配置如下 DAC触发 trigger是由TIM2事件触发。 TIM2配置方式 /** * 生成正弦波数据点函数 * @param NPoints �???个周期内的点�??? * @param VMaxRange 输出的电压最大�?�,取�?�范�???0~3.3V * @param S 阅读全文

posted @ 2023-06-15 09:56 虎啸岳林 阅读(184) 评论(0) 推荐(0) 编辑

导航