自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 LVGL开发日志之PC模拟环境的搭建

LVGL开发日志之PC模拟环境的搭建

2022-09-08 16:28:44 339 1

原创 S3开发日志之解决VScode的头文件波浪线

解决VScode的头文件波浪线

2022-09-01 17:33:47 1326

原创 S3开发日志之VScode安装esp idf扩展

安装esp idf扩展的一些记录

2022-08-30 10:08:39 1950

原创 华大HC32L136开发日志之低功耗

2021.07.30 今天做一例HC32L136的低功耗,在进入低功耗之后,总是有600-800uA的电流,经历了拆电路、对代码、瞎屏蔽的一堆操作之后,电流依然不变。我在查资料的过程中,发现了一个网友说,要把ADC的BGR除能,刚看到的时候简直就像看到了真理,赶紧粘贴复制下载上电,结果还是那个不行。。。 最后经过一番呕心沥血的调试,发现原因确实是BGR的原因,问题出在网友的代码顺序不太对,网友的代码如下:Sysctrl_SetPeripheralG...

2021-07-30 16:43:44 2297 4

原创 ESP32开发日志之cJSON之错误的free

今天碰见一个让人头疼的错误,程序运行中经常会出现LoadProhibited的内存错误,经过一番观察发现是执行完cJSON的API之后再次调用JSON的API就会出问题。几经折腾,终于发现是我把(cJSON*)对象给释放(free)了。思考了一下,cJSON的API返回的(cJSON*)指针,是指向cJSON库分配好的内存,而我越俎代庖的把这部分内存释放掉了,当然会出错了。对于(free)的使用,只能用于自己开辟过的内存,别人开辟的内存,不可随意释放。...

2020-08-15 17:27:58 914

原创 ESP32开发日志之AiThinkerIDE_V1.0使用过程中的一个问题

根据安信可官网开发环境搭建的教程一步步做到构建menuconfig的时候,控制台(console)报错:Error: Program "mintty.exe" not found in PATHPATH=。。。。同时还报找不到G++之类的错误。百度无法解决,早上仔细看了下环境变量中PATH的定义,觉得有点不顺,怎么一片 \ 中有了 / ,好家伙,敢情是从Linux之类的操作系统偷渡而来的。赶紧把PATH的路径复制到word里,查找替换了一下,OK了。原PATH路径:E:/AiThinkerI

2020-07-31 10:34:12 2608 3

原创 STM32F4 hardfault一例:usage fault

前天自己写了一个项目的键盘驱动,该项目程序使用ucos-ii,键盘驱动作为其中一个任务。键盘驱动本身不难,使用基础的扫描方式。难的是调试时发现程序总会进入hardfault。hardfault是M3和M4内核的一种机制,具体类型可以百度“HardFault的诊断”。接下来说说我艰苦的调试过程。。。首先百度了怎么调试hardfault,根据这篇文章http://www.cnblogs

2017-04-02 17:03:37 5940 3

原创 指针能用立即数直接赋值吗?

学习的过程中产生了这个疑问:指针变量本身是一个地址,那么能直接用地址的值赋给指针吗?答案是可以,只要加一个类型强制转换,比如定义了 int * p;  可以接着 p=(int*) 0x04; 此时我又想,那么可以把一个存着地址的变量直接赋给指针吗?直接赋当然不可以,那么强制类型转换呢,于是有了以下代码: int temp=0x02; char * p; p=(char*)te

2017-03-28 14:59:33 4102 1

原创 STM32库函数如何实现对寄存器的寻址

在学习STM32库函数的时候,发现库函数中寄存器的寻址一般是这样:(1)定义外设结构体(寄存器组)typedef struct{ __IO uint32_t MODER; /*!< GPIO port mode register, Address offset: 0x00 */ __IO uint32_t OTYPER; /*!<

2017-03-28 14:45:57 2393

原创 一维数组名与二维数组名的差别

一维数组名和二维数组名都可以看做是指针,不同在于:(1)一维数组名相当于指向该数组数据类型的指针;(2)二维数组名相当于指向该数组中的一维数组的数组指针。比如,定义一维数组 int a[i] 和二维数组 int b[i][j],a相当于int (*),而b相当于int (*)[j]。因此,想要获得 a[i] 中第 x 个元素,可以直接 *(a+x)。而想要获得 b[i][j] 中第

2017-03-19 00:25:48 2456 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除