- 博客(18)
- 收藏
- 关注
原创 Variable references empty selection: ${project_loc}解决方法
经过测试可以解决问题;本人用的编译器是SmartSnippets Studio v2.0.16,在这里吐槽一下这个编译器用着非常不顺手。
2024-07-16 14:33:17
123
原创 独立看门狗(iWDT)超时时间计算
最终计算出设置的超时时间 = 17.067 ms x 2048 cycles = 34.95 秒。那么,可以得到独立看门狗的时钟频率 15000Hz / 256 = 58.59hz。周期时间等于 1/58.59hz = 17.067 ms。首先,独立看门狗的输入时钟频率为 15000hz。将循环周期设为 2048 cycles。时钟分频比等于 256。
2024-06-14 15:59:06
458
原创 使用SecureCRT发送hex、字符串
使用SecureCRT发送hex或者字符串的方法见以下链接:用secureCRT串口工具发送hex字符串的方法_securecrt 发送hex-CSDN博客
2024-05-31 10:55:20
499
原创 用clion ide开发stm32
大部分我是按照第一篇博客来的,直到需要往系统环境里面的path添加环境时我参考了第二篇(找了半天不知道系统环境在那里,但是第二篇里面有写)我一共参考了两篇博客,过程很顺利。
2024-01-30 15:47:57
254
1
原创 uart与uart之间的通信(队列缓存)
if(count >= length+3)//为什么加3?//防止队列满了后一帧数据分散开来,一部分在尾部,一部分在头部。我做了一些修改:防止队列满了后一帧数据分散开来,一部分在尾部,一部分在头部。//不足一帧是继续等待,实际中可以做个超时处理。//防止队列满了后一帧数据分散开来,一部分在尾部,一部分在头部。#define LEN 4 //最小的一帧数据具有的长度。
2023-06-09 13:57:25
167
原创 使用stm32进行ota升级
3、bootloader和app存放方案:将mcu内部flash分为两块内存,分别存放bootloader和app。2、下载官方bootloader和编写测试demo;2、数据传输协议:ymodem,如果不了解ymodem值得去了解下。1、硬件方案:只使用mcu内部flash,没有外置flash。4、ota流程:使用uart进行数据更新,并运行新的程序。1、下载“SecureCRT 8.3”软件。然后按下键盘3,执行新程序就完成了。
2023-05-29 14:45:57
2429
1
原创 C语言二级指针的用法
我们来分析一下“图1”中的程序,首先定义了一个一级指针p1,然后用p1指向a变量的地址,定义一个二级指针p2,用p2指向p1的地址,然后将p2。二级指针一般用于指向一个一级指针的地址,见下面程序。解引用后的值就是a的值。
2023-05-18 10:43:45
210
原创 c语言中指针数组的用法
图1和图2实现的效果是一样的,唯一不同的是图2中使用了传说中的指针数组,图二中的第一行int* array1[3];定义了一个int类型的数组指针array1,让array1[0]、array1[1]、array1[2]类型都变成了int类型指针,对比图1可以发现其实数组指针就是将数组变成了指针类型,和图1实现的功能是一模一样的;当然如果想深入学习数组指针还可以去了解一下“int* array1[3];看完图1中的代码你会发现没有传说中的指针数组,不要急,接着看图2代码。
2023-05-16 14:46:18
140
原创 C语言中指针直接指向数组名(array) 和 指向数组地址(&array)的区别
从图2中可以看到我把array1和&array1都加了1然后再把它们打印出来,我们会发现值不一样了;下面来解释下这是为什么。array1 + 1相当于地址偏移一个元素的长度,而&array1 + 1地址偏移一整个数组的长度,所以最后的值肯定是不一样的。从图1中可以看出array1和&array1输出的值一样的,都是数组array1的首个元素值。它们指向的地方是有区别的,a指向的是array1。,b指向的是array1这。,所以将它们全部加1后,
2023-05-12 18:02:32
142
原创 蓝牙服务LLS(LINK LOSS SERVICE)(UUID:1803)
以我的理解这个LLS服务是用来蓝牙丢失连接后发出一个命令告知蓝牙芯片的一个服务。链路丢失服务 |蓝牙®技术网站 (bluetooth.com)以上为官方参考连接。
2023-04-06 14:24:13
351
1
原创 iic地址为什么要左移一位
下面来看下图二,这是芯片INA226的地址,A1和A0都接地的时候地址是1000000,换算成16进制也就是0x40,但是在实际使用中应该写成,写:(0x40
2023-03-20 16:52:35
1698
原创 STM32 OTA USART升级,协议ymodem笔记
https://blog.csdn.net/lzj_linux188/article/details/107890964 对iap(bootloader)底层原理和stm32官方iap(bootloader)代码分析。https://blog.csdn.net/qq_36958104/article/details/108842629 中断向量表修改,包括寄存器和库函数方式。
2023-03-16 13:44:23
255
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人