摘要: 写在前面尤其注意主要时钟源 Clk_SwitchTo(ClkXTH); XTH为外部时钟,若板子无外部时钟,则无法下载了 。这点尤其注意,更换芯片中。。。1.官网下载例程 https://www.xhsc.com.cn/Productlist/info.aspx?itemid=17512.找到spi 阅读全文
posted @ 2023-12-06 18:03 朽木生 阅读(49) 评论(0) 推荐(0) 编辑
摘要: void LCD_ShowPicture(uint16_t x,uint16_t y,uint16_t length,uint16_t width,const uint8_t pic[]) { uint16_t i,j,k=0; LCD_Address_Set(x,y,x+length-1,y+wi 阅读全文
posted @ 2023-03-09 11:23 朽木生 阅读(263) 评论(0) 推荐(0) 编辑
摘要: 1.接上篇文章。文章中讲了如何安装IDE软件进行操作,这儿不再介绍。2.上篇文章中采用的是ISP下载,该种下载方式多用于调试,用于现有的方式不是很合适。因此提出采用使用WCH-Link下载。这种方式可以支持 WCH-Link 是SW方式下载,和 jlink 似的可以仿真调试。将大大缩短我们的开发难度 阅读全文
posted @ 2023-03-06 17:29 朽木生 阅读(332) 评论(0) 推荐(0) 编辑
摘要: 1.使用代理安装ESP32 环境,若安装失败,则换个版本试试,不一定要安装最新的。(若在VS中开发代码,测试发现 只能有官方的这个,才能被找到,但VS编译极慢)2.选择 开发对应的SPI下载方式,分区等等。3.完成后选择对应的开发板子就好 阅读全文
posted @ 2023-02-02 17:07 朽木生 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 1。下载VScode https://code.visualstudio.com/Download 全用户使用 2.下载完成后 安装后安装PlatformIO 插件 3.安装完成后重启后建立工程(需要下载 需要魔法) 编译未成功 . 怎么解决呢?原来是点这个编译 输出下载 阅读全文
posted @ 2022-05-18 15:59 朽木生 阅读(319) 评论(0) 推荐(0) 编辑
摘要: 转自 :http://www.elecfans.com/emb/danpianji/20171129588835_a.htmlSTM32家族中的所有芯片都内置了逐次逼近寄存器型ADC模块.内部大致框架如下:每次ADC转换先进行采样保持,然后分多步执行比较输出,步数等于ADC的位数,每个ADC时钟产生一个数据位。说到这里,用过STM32 ADC的人是不是想到了参考手册中关于12位ADC转换时间的公式... 阅读全文
posted @ 2020-01-09 17:00 朽木生 阅读(6866) 评论(0) 推荐(0) 编辑
摘要: 使用宏定义 USE_FULL_ASSERT 来开关断言使用,在调试完成后,关闭此断言调试接口断言失败返回接口函数#ifdef USE_FULL_ASSERT/** * @brief Reports the name of the source file and the source line number * where the assert_param error has ... 阅读全文
posted @ 2019-10-24 11:36 朽木生 阅读(380) 评论(0) 推荐(0) 编辑
摘要: MDK编译默认生成.hex文件,而升级程序需要生成.bin文件。MDK自带的格式转换工具fromelf.exe,来实现.axf文件到.bin文件的转换。该工具在MDK的安装目录\ARM\BIN40文件夹下。通过下一步设置,可以在MDK编译成功之后,调用fromelf.exe。./对应工程所在文件夹fromelf.exe 使用命令如下:fromelf [options] input_file其中op... 阅读全文
posted @ 2019-10-17 16:42 朽木生 阅读(2894) 评论(0) 推荐(0) 编辑
摘要: 死机过程基本概念:连接寄存器LR:调动子程序时,自动存储下一次返回的地址,其实就是最近调用的那一次函数的地址。死机的过程:这里我们最需要关注的是第一步入栈:其中8个寄存器的顺序是其中出现异常时LR里面的值是固定的最后更新堆栈指针,我们根据最后使用的堆栈里面的内容,就可以知道出问题时的最后现场。死机定位思路简单来讲就是:找到死机时候的lr寄存器,然后根据lr寄存器的值,找到此时压入的是psp堆栈,还... 阅读全文
posted @ 2019-09-24 10:15 朽木生 阅读(597) 评论(0) 推荐(0) 编辑
摘要: 修改使用 heap_size 增大其实就是堆栈的不足。好好分析下程序堆栈,如下:函数的局部变量,都是存放在"栈"里面,栈的英文是:STACK.STACK的大小,我们可以在stm32的启动文件里面设置,以战舰stm32开发板为例,在startup_stm32f10x_hd.s里面,开头就有:Stack_Size EQU 0x00000800表示栈大小是0X800,也就是2048字节.这样,CP... 阅读全文
posted @ 2019-09-24 10:12 朽木生 阅读(2181) 评论(0) 推荐(0) 编辑