
单片机
waterwoods123
这个作者很懒,什么都没留下…
展开
-
STM32F103 新建寄存器开发工程--江科大跟练版
stm32f10x.h是外设寄存器描述文件,描述STM32有哪些寄存器以及其对应的地址的。system_stm32f10x.c和system_stm32f10x.h用以配置时钟,STM32主频72MHz。STM32是内核以及内核外围设备组成的,内核的寄存器描述和外围设备的描述文件不在一起,因此还需添加内核寄存器。PS:采用的F103C8T6型号芯片,需要的启动文件为startup_stm32f10x_md.s。添加startup_stm32f10x_md.s和其它的.c和.h。新建main函数并编译。原创 2025-02-05 11:15:20 · 314 阅读 · 0 评论 -
GD32H7 FWDG独立看门狗
一个初始化,一个喂狗。一些函数里的值可以直接复制demo。这样的话,看门狗两秒后不喂狗会重启。这个demo给得比较复杂,我直接找了几个函数替代了它原来的长篇大论。原创 2025-01-03 15:28:34 · 177 阅读 · 0 评论 -
GD32H7窗口看门狗配置
set WWDGT clock = (PCLK3 (300MHz)/4096)/8 = 9156Hz (~109 us) 因为此处WWDG配置为8分频WWDGT_CFG_PSC_DIV8。我就以为分频之后呢,APH3是300M,按照demo的计算,(原创 2024-12-30 11:09:34 · 238 阅读 · 0 评论 -
STM32CubeMX直接在软件内 Check Update Manager 更新
STMCubeMX软件内更新转载 2022-06-08 15:23:50 · 15535 阅读 · 3 评论 -
STM32CubeMX ADC采样的坑
无原创 2022-06-10 18:00:58 · 1431 阅读 · 2 评论 -
ARM ADDS和ADCS的区别
网上介绍的ADDS和ADCS的区别很模糊,我找到了一篇博文,链接放在最末。实质上,ADD就是加法,ADC是进位加法,而后面带的S就是表示更新程序状态寄存器CPSR。也就是说:ADDS——加法,完成后更新CPSR状态ADCS——进位加法,完成后更新CPSR状态内容转载自:汇编常用指令记录_浮不起来的咸鱼的博客-优快云博客 https://blog.youkuaiyun.com/weixin_43405104/article/details/87298431...转载 2022-05-05 14:43:35 · 3537 阅读 · 1 评论 -
LVGL刷新的几个要点
1.如果是单缓存,也就是例程里面的example1,全屏刷的时候,也要把disp_drv.full_refresh = 1。我试的时候,如果不置一,那就没办法点击屏幕切换界面,就只能显示第一个界面然后固定不动。2.如果是双缓存,也分成了全屏刷新和分部刷新。原创 2024-12-17 14:31:16 · 466 阅读 · 0 评论 -
keil出现FCARM - Output Name not specified, please check ‘Options for Target - Utilities‘
我出现这个问题的原因是有新增的.c和.h要添加进工程,但是同时有.h.bak和.c.bak,我也放进去了,所以出现了这个问题。因此,一般出现这个问题的原因都是导入了非.c/.h的文件导致的。原创 2024-12-15 10:48:16 · 443 阅读 · 0 评论 -
DMA传输数据到显示屏的问题汇总
1.如果机子不跑死而屏幕不亮,大概率是DMA传输的时间太短了,要加个delay。只刷新半个屏幕,一半不变,那就是数组只传输了一半,同理可得,变了一截,是只传输了一截。1.BUG分享|SPI接口屏幕无法点亮(SPI无法判断发送完成)https://www.cnblogs.com/lxy0558/p/17933881.html。这个我还没用上,还没到那一步,但是快了快了。原创 2024-11-08 16:15:00 · 726 阅读 · 0 评论 -
GD32H7XX软件触发中断
GD32H7XX软件触发中断 使用中断使能寄存器 (EXTI_INTEN)、软件中断事件寄存器 (EXTI_SWIEV)和EXTI0原创 2024-11-05 15:15:27 · 268 阅读 · 0 评论 -
GD32HXX DMA模块的一些细节
1.使用DMA,先分清楚是存储器到存储器,还是外设和存储器之间的传输。如果是存储器到外设,外设地址与外设的发送寄存器关联;如果是外设到存储器,那就是外设地址与外设的接收寄存器关联。突发传输–不能超过 1KB 的地址边界,否则将会产生传输错误并响应至主机。如果数据太多了,会拆分为单一传输。2.根据传输的数据长度选择是单数据模式和多数据模式。连续的外设请求,要配置为循环模式。原创 2024-10-30 11:24:35 · 196 阅读 · 0 评论 -
GD32的一些知识点
GD32中,一个字word占32bit,即4个字节(两个半字)半字Half-word占16bit;1.字和字节的关系https://blog.youkuaiyun.com/weixin_65451324/article/details/135733219。1、有很多不了解的地方,就对标STM32学习,基本上可以直接机型对机型,比如GD32FXX对标STM32FXX。2、使用DMA传输较多数据的时候,注意不要再用单数据传输模式,要改成多块传输,要是数据量更大,可以使用MDMA。4、字、字节和半字节。原创 2024-10-29 15:27:12 · 152 阅读 · 0 评论 -
找不到可视化编程界面
只要点击help->Embedded Builder Welcome即可。当进入出现以下界面而不是可视化编程界面。原创 2024-10-28 11:33:37 · 181 阅读 · 0 评论 -
使用EmbeddedBuilder可视化编程找不到GD32H7XX
在网上看到一篇文章,是可以使用进行编程的,但是图形化的时候找不到H系列(见图1),我开始以为是没有导入对应的MCU型号。一番探究发现,H7的图形化编程还没开放,但是在New Project可以导入相应的H7XX库文件(见图2)。原创 2024-10-28 11:09:38 · 357 阅读 · 0 评论 -
ADC不同检测类型以及原理
看到一篇文章,写的非常好,讲述了ADC采样的原理以及不同的采集方式。原创 2024-03-13 15:42:09 · 583 阅读 · 0 评论 -
用keil的时候没有安装对应MCU的库,以STM32F103F为例
还有:如果重装了KEIL(有的型号可能老的keil没有),要破解的时候用管理员模式打开keil和破解软件,不然破解的时候会报错you are not logged in as an ‘Administrator’解决方法是点击Option for target,再点击Debug,再点击仿真器选项后面的settings。安装完库之后,点击Option for target,查看一下Device里面有没有对应型号的MCU可以选择。安装keil的时候没有用到这个芯片就没有安装对应的库。原创 2023-08-23 15:13:51 · 1762 阅读 · 1 评论 -
STVP烧录的时候只能烧录STM32,以为是自己安装有误
其实是忘记了点击选择框左边的黄色按钮Configuration ST Visual Programmer,选择SWIM就是STM8。原创 2023-08-11 09:32:41 · 177 阅读 · 0 评论 -
如何将STVP的option bytes的配置移植到另外的电脑
在option bytes里将复用、外部晶振等修改好之后,点击save as,就可以啦,新的hex文件里面就是新的配置,可以移植。原创 2022-03-26 09:19:09 · 242 阅读 · 0 评论 -
IAR编译出现Error[Lp011]: section placement failed
其实是代码的大小超出了该MCU的能承受范围。这个时候,有两个办法,但是不一定都有效。1.更改IAR配置(实际代码量没超的情况下使用)点击工程,右键Options->C/C++ Compiler->Optimizations,把LOW改成HIGH。但是这个方法不一定有效,就像计算机内存或者带宽一样,为了正常运行有一点的余量。我试着把Language和Data都改为了HIGH,也没有用。2.将代码进行修改(代码可以删减的情况下使用,就是减肥)删去无用的代码、特别是删去重复的变量定原创 2022-03-23 10:11:02 · 6962 阅读 · 0 评论 -
STM8S AD采样电压值——采样值与实际值之间的计算
在实际应用中,需要我们检测到实际的电压值,这个实际的电压值要通过计算得到。公式如下: (其中,Vad是测量到的电压,也就是电压对应的模拟输入口的电压。Vcc是单片机输入电压,有的是5V,有的是3.3V。Dad是读取到的模拟输入口的数值。10位的AD采样对应的2的10次方。)但是,这个得到的Vad是指的分压得到的电压,并不是实际的测量的电压值。这个时候,还要看实际的电路。举个例子,如果实际电路中,实际电压与Vad之间的比值是100,那么实际的电压就是...原创 2022-03-15 14:12:23 · 5229 阅读 · 5 评论