自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原初引力

dw1248044958@163.com

  • 博客(96)
  • 收藏
  • 关注

原创 Keil MDK下如何设置非零初始化变量 及变量指定位置- Arm CompilerV5 和 V6区别

在分散加载文件中,定义名为NO_INIT的段。注意该段所在的可执行域要具有UNINIT属性。load region size_region 从0扇区开始.ANY (+RO)RW dataload region size_region 从0扇区开始.ANY (+RO)RW data。

2024-04-18 16:28:27 1008

原创 extern “C“使用方法__演变过程

上面的例子,如果取消extern “C”,编译不会报错,因为C++支持函数重载,加上extern "C"后按照C语言的方式编译会提示重定义。一般将extern “C” {},放到头文件声明中,但在C环境中又不识别extern “C”;如果其他cpp文件调用c库时,又需要extern “C” {};Cpp文件,默认带有 #define __cplusplus。最终通过条件编译来解决同时在c,c++中使用的问题。c++无法按下面方法直接调用,会提示找不到函数。可以按照以下方式来调用。

2023-12-01 16:05:32 356

原创 简明状态机C语言实现与应用(大致框架)

/状态//状态执行函数 参数是事件switch。

2023-10-26 14:42:20 559

原创 AT32固件库外设使用,ArduinoAPI接口移植,模块化

对于外部脉冲(方波)计数,通用的方法为捕获比较方式,由于项目对于脉冲的精度要求比较高,在快速搭建代码测试过后,发现该方法并不能满足需求,进而寻求计数更为精确的方法----ETR计数。通过arduinoapi实现封装,实现底层分离,支持arduino生态,两种方式 :1 DMA完成中断中再次软件触发,实现循环采样,中断频率较高。2 ADC_DMA_GetValue中软件触发,需要获取数据时才开启采集。ADC_DMA_Init函数必须放到所有ADC_DMA引脚注册完之后。定时器时钟为240M。

2023-10-26 13:36:19 743

原创 重庆助理工程师申请步骤及注意事项

网上关于职称申请的步骤很少,很多都是那些职称待办机构的链接。1. 毕业一年自动转助理工程师大学时说的毕业工作一年后就是助理工程师,并不是一年后你自动就变成助理工程师,而是需要在系统上填申请表。毕业工作一年只是最基本条件,不同学历年限不同。2.随便填填基本资料就可以申请各地有不同的职称系统,上面填的资料不同,但是一定是按照要求来填, 不要自己想当然填,有许多要盖章的地方你根本想不到。3.这玩意有什么用我也不知道这个有什么鸟用,我又不是搞工程的。但是不弄他又感觉哪里不对劲。

2023-10-25 16:34:52 609

原创 强制指定变量地址与局部优化

AC6.0以后不支持预编译指令来局部优化代码,只能单独更改某个.c文件的优化等级。

2023-10-25 15:58:17 316

原创 嵌入式程序员大而不精困境

重交大学机械电子专业,现嵌入式程序员一枚,没有前往北上广深大浪淘沙的勇气,选择回到重庆这个熟悉又陌生的城市。

2023-10-23 13:54:08 68

原创 lvgl模拟器使用教程

错误原因是img_cogwheel_argb.c 文件中的变量img_cogwheel_argb定义按C编译。属性页,将编译为,改成编译为C代码(/TC)编译一下,报以下错误。

2023-10-18 18:30:09 214

原创 linux(全志F1C100S/F1C200S)系列10:参考

https://blog.csdn.net/qq_41709234/category_12158774.html

2023-10-10 17:37:45 189

原创 linux(全志F1C100S/F1C200S)系列05:USB驱动移植,hub支持

目录四.问题1. FE8.1晶振不起振 两端电压为3.3V和3.4V2.二、1.2.四.问题1. FE8.1晶振不起振 两端电压为3.3V和3.4V2.二、1.2.

2023-10-10 10:23:05 471

原创 linux(全志F1C100S/F1C200S)系列02:移植LCD st7789驱动,LVGL8.3移植

保存退出,然后执行make命令编译内核,然后将镜像拷贝到tf卡第一分区中,此时可以看到屏幕已经可以驱动起来了,并且/dev目录下有fb0设备。fb 挂载成功后,控制台驱动检测到 fb 设备后会自动将 fb0 映射到 tty0 上,这样 tty0 实际上就是 fb0 ttys0则是串口。此时可以看到屏幕刷新了,然后编程了黑色背景,同时出现了光标,从终端的 log 可以看到,当。现在所有的修改都完成了,剩下的就是编译内核了,在内核根目录下执行。将设备树和zimage复制到tf卡中 重启可以看到光标闪烁。

2023-10-10 10:13:30 2546 11

原创 三极管,MOS管开关应用总结

MOS管为了保证衬底与源极之间的PN结不会意外偏置,故通常将二者连接使用。此时源极与漏极之间自然形成了一只PN结 结构,称为体二极管。体二极管的方向与MOS管导通的电流方向相反。只需要看PN结二极管符号正反偏导通就可以。P模式,二极管朝外,但需要反偏,Vg为0。屁是往外放的,二极管朝外的就为P型,NPN,二极管朝外, Vb为正。可以通过有两点连接的为S极。三级管类型判断方式一样。记住P型即可知道N型。

2023-08-31 16:52:38 117

原创 SPI总线NSS和CS区别,及应用场景

软件模式:硬件模式其实这个NSS是控制片选脚CS的控制方式,SPI_NSS_Hard硬件模式即为:SPI自动控制CS片选信号,发送数据自动拉低电平,不发送维持高电平,弊端只能连接一个从机。SPI_NSS_Soft软件模式即为:通过控制IO口来把CS置低置高,发送数据时候,通过IO口把CS拉低,发送完成后拉高,优点可以连接多个从机。配置为SPI_NSS_Hard时,片选脚只能选择固定的外设脚配置为SPI_NSS_Soft时,cs脚可以通过软件任意分配引脚。

2023-06-25 17:33:04 3129

原创 KEIL 优化等级更改后无法打断点问题

https://blog.csdn.net/sq2013317/article/details/128566000

2023-05-08 15:26:05 496 1

原创 stm32H7内部flash存储结构体 固件库,寄存器结合使用,解决无法写入问题

内部flash存取数据

2023-03-16 18:48:18 1593

原创 Qt Quick实现国际化 中英文切换简明图文步骤

qt 中英文切换

2023-03-03 13:50:20 864

原创 linux(全志F1C100S/F1C200S)系列01:初始环境搭建

F1C100S F1C200S 环境搭建 UI移植 驱动移植

2023-02-17 09:15:25 3950 1

原创 绘制正余弦曲线中的sin(x),cos(x)的使用

正余弦函数 曲线

2023-02-17 09:13:01 390

原创 AT32使用遇到的问题

目录一、SystemInit 进hardfault1.2.二、1.2.一、SystemInit 进hardfaultvoid SystemInit (void){#if defined (AT32F415xx) /* Enable low power mode, 0x40007050[bit2] */ RCC_APB1PeriphClockCmd(RCC_APB1PERIPH_PWR, ENABLE); *(volatile uint8_t *)(0x40007050) |= (uint

2023-02-17 09:12:38 258

原创 C语言二级指针

为什么要用二级指针

2023-02-16 16:13:27 529

原创 ESP32-S2-WROOM(WROVER) PlatformIO开发教程

esp32

2022-08-25 23:13:10 2415

原创 arduino离线安装esp32开发板支持包

esp32 arduino

2022-08-20 14:00:54 2904

原创 微星如何于BIOS中开启/关闭AMD虚拟化技术

svm mode 开启死机

2022-08-08 09:19:46 11334

转载 同步计数器与异步计数器的区别,以及4040计数器的使用

SN74LV4040A计数器原理

2022-06-20 15:49:07 3416

原创 linux下运行lvgl 模拟器

mkdir -p ~/lvglcd ~/lvglgit clone -b 7.11.0 --recursive https://github.com/lvgl/lv_sim_vscode_sdl.git//如果想用最新版,请改用以下命令://git clone --recursive https://github.com/lvgl/lv_sim_vscode_sdl如果子模块下载失败:cd ~/lvgl/lv_sim_vscode_sdlgit submodule update --in

2022-06-08 18:23:15 875

原创 AT32移植LVGL_V8具体步骤

目录一、下载LVGL_V8源码1.2.二、优化显示速度(重要)1.采用dma方式填充 双缓冲2. 修改at32堆栈大小3. 扩展SRAM???一、下载LVGL_V8源码暂时不需要吧如果使用AT-START-F403开发板时,不需要进行SRAM的扩展,因为403的SRAM默认就为96K。如果使用AT-START-F413开发板时,强烈建议进行SRAM的扩展,因为413的SRAM默认只有32K,很容易就会超出范围。1.2.二、优化显示速度(重要)1.采用dma方式填充 双缓冲2. 修改at3

2022-05-27 16:14:22 3533 5

原创 SquareLine使用笔记

目录一、社区版许可证1.一个许可证只绑定一台电脑,试用30天内最好去重新申请一下就能免费使用2.一台电脑不允许同时登录两个账号 ,第二个会提示communicate error二、linux 下运行Squareline1. sh ./setip.sh2. ./SquareLine_Studio.x86_643 注意ubunutu版本过旧可能提示缺失opengl一、社区版许可证1.一个许可证只绑定一台电脑,试用30天内最好去重新申请一下就能免费使用2.一台电脑不允许同时登录两个账号 ,第二个会提示com

2022-05-25 17:34:00 6146 4

原创 QT使用教程及常见问题

目录一、添加常用第三方库1.FFTW2.一、添加常用第三方库参考链接1.FFTWFFTW是开源的dft / idft库,具有高效率易移植的特点。遵守GPL协议,具有商业付费服务。windows下安装库在网站 http://fftw.org/install/windows.html 下载压缩包使用Visual studio的命令行工具lib,根据需要的版本生成.lib文件lib /def:libfftw3-3.def将.lib文件以及对应的.dll文件放入工程目录中编辑.pro文件加

2022-05-06 17:22:13 600

原创 好用的插件+软件,

目录一、插件1.Simple Todo2.二、开源软件1.drawio 免费好用的流程图绘制软件,功能强大,开源免费2.一、插件1.Simple Todo安装后默认是新标签页自动打开,可以直接将连接保存为书签,放到书签栏打开更合适2.二、开源软件1.drawio 免费好用的流程图绘制软件,功能强大,开源免费2....

2022-04-11 10:45:02 112

原创 常见硬件调试问题及解答

文章目录1.电池电压对地为负2.STM32 RTC不走,一直为00:00:001.电池电压对地为负电池地与板子地接触不良2.STM32 RTC不走,一直为00:00:00一.如果是使用外部晶振,看一下晶振是否起振

2022-03-08 18:20:25 1492

原创 Git使用笔记

文章目录一 本地操作1. 本地目录建立2 将目录设置为git仓库3 将文件放到git仓库4 查看更改5 版本回退6 撤销修改7 删除文件 误删恢复二 远程仓库1 添加远程库三 分支管理一 本地操作1. 本地目录建立$ mkdir learngit$ cd learngit$ pwd/Users/michael/learngit2 将目录设置为git仓库git init3 将文件放到git仓库git add readme.txt //将内容写入暂存区git commit -m "wr

2022-03-08 17:17:56 584

原创 树莓派基础使用

1 树莓派重启sudo rebootSSHSSH选择的是MobaxtermSSH界面十分友好如果有显示器的话可以在右上方查看ip地址同时Mobaxterm也是支持vnc连接的但是测试无法连接成功 提示No configured security type is supported by 3.3 viewer暂时不知道怎么解决,求助,有知道的小伙伴请在评论区留言3.VNC前面使用Mobaxterm的VNC无法连接成功只能选择VNCViewer 实现VNC连接...

2021-12-23 18:00:15 366

原创 关于数组越界的惨痛教训

文章目录数组越界是我调试bug时遇到最多的问题二、数组越界通常会导致以下几个问题:1 直接进HardFault2.不进hardfault 不出错3 不进hardfault 导致内存错误数组越界是我调试bug时遇到最多的问题二、数组越界通常会导致以下几个问题:1 直接进HardFault这种通常通过单步调试或者通过sp寄存器可以定位到问题所在2.不进hardfault 不出错这种是最难的,刚写的时候没有问题,当后面程序扩展后问题,真的很难回来找到问题点在哪3 不进hardfault 导致.

2021-12-15 11:45:08 1331 4

原创 STM32在DEBUG调试模式下禁止看门狗IWDG WWDG

1 问题:项目中如果开启了看门狗,在调试时添加断点导致不能及时喂狗,芯片重启2 解决: 如果使用的HAL库,库中提供了相应的API#ifdef STM32f4 __HAL_DBGMCU_FREEZE_WWDG() __HAL_DBGMCU_FREEZE_IWDG(); //调试模式时冻结看门狗 __HAL_DBGMCU_UNFREEZE_WWDG() __HAL_DBGMCU_UNFREEZE_IWDG() //调试模式时开启看门狗#else //H7 __HAL_DB

2021-12-14 11:25:04 6464 2

原创 EMWIN电容触摸Touch步骤及注意事项

文章目录1.添加触摸IC驱动2.使能EMWIN触摸 GUIConf.h3.添加EMWIN GUI_X_Touch_Analog.c文件4.定时调用GUI_TOUCH_Exec1.添加触摸IC驱动2.使能EMWIN触摸 GUIConf.hGUI_SUPPORT_TOUCH 13.添加EMWIN GUI_X_Touch_Analog.c文件实现GUI_TOUCH_X_MeasureXGUI_TOUCH_X_MeasureY两个函数int GUI_TOUCH_X_MeasureY(void)

2021-12-02 13:57:34 5224 4

原创 STM32同组外部中断线使用问题

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录一、外部中断线的使用一、外部中断线的使用STM32一共有16个外部中断线,虽然可以将IO通过配置映射到每一个IO,但是每个中断线同时只能连接到一个IO上,相当于STM32能够同时使用的外部中断最多也就16个,引脚后缀是相同的如GPIOA0,GPIOB0想要同时使用EXTI0是不行的,中断只会与最后一个配置的引脚进行链接,前面的链接会被清除掉,对的,就是这么坑(H7来说,F4可以通过SYSCFG_EXTILineConfig(E

2021-11-24 15:51:02 2884

原创 移植LWIP Eclipse链接文件的区别 `RAM_D2‘ overflowed

由于Lwip的描述对于 H7 芯片而言, DMARxDscrTab 和 DMATxDscrTab 的内存一定要放到 SRAM3区域, 否则网络会出问题!CUBEMX生成的ld链接文件为 .lwip_sec (NOLOAD) : { . = ABSOLUTE(0x30040000); *(.RxDecripSection) . = ABSOLUTE(0x30040060); *(.TxDecripSection) . = ABSOLUT

2021-11-02 18:24:10 388 2

原创 stm32H7 HAL库操作内部Flash BANK2(0x08100000)读写不正常

目录一、stm32H7 HAL库操作内部Flash BANK2读写不正常一、stm32H7 HAL库操作内部Flash BANK2读写不正常超过1M写道bank2(0x08100000) 后面的内容不正常HAL_FLASH_Program函数 返回错误 由于用的旧版本HAL库看到安富莱贴子中关于旧版HAL BUG的问题参考新版HAL做了更改后仍然出现错误 不能正常写决定采用寄存器方式写 不用HAL库 便将正点原子的寄存器版本中的STMFLASH_Write8Word底层函数移植过来 问题解.

2021-09-02 19:16:02 2582

原创 stm32 定位hardfault 的方法

#1 获取 pc 或者psr寄存器的值#2 在编译生成的map文件中找到pc 值对应的函数

2021-07-20 13:12:54 602

原创 不同封装晶振的输出能力是不同的 调试芯片要注意

不同封装晶振的输出能力是不同的 调试芯片要注意

2021-04-09 17:08:57 203

空空如也

空空如也

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

TA关注的人

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