- 博客(23)
- 资源 (23)
- 收藏
- 关注
原创 KEIL中 使用正点原子STMFLASH_Write出现HardFault_Handler错误问题
使用正点原子STMFLASH_Write出现HardFault_Handler错误问题
2022-08-31 16:14:03
1072
原创 KEIL中 __use_no_semihosting was requested, but _ttywrch was referenced问题
编译遇到__use_no_semihosting was requested, but _ttywrch was referenced的解决办法
2022-08-31 16:11:34
4241
原创 GD32+W5500 非法拔掉网线解决方式
一、问题1.基于W5500如何快速的检测"非法拔掉网线"二、背景1.硬件:GD32F10x2.软件:KEIL53.模块:W5500三、W5500简介1.W5500 是一款全硬件 TCP/IP 嵌入式以太网控制器,为嵌入式系统提供了更加简易的互联网连接方案。2. W5500 集成了 TCP/IP 协议栈, 10/100M 以太网数据链路层(MAC)及物理层(PHY) ,使得用户使用单芯片就能够在他们的应用中拓展网络连接。四、标定解决的办法1.查看W55...
2022-01-26 16:13:53
3887
原创 GD32裸机移植FlashDB
一、添加的功能1.在GD32F10x中移植FlashDB,用于片外FLASH(W25Q32JV)二、背景1.硬件:GD32F10x2.软件:KEIL53.数据库:FlashDB三、FlashDB1.名称:超轻量级嵌入式数据库2.简介:FlashDB是一款超轻量级的嵌入式数据库,专注于提供嵌入式产品的数据存储方案。与传统的基于文件系统的数据库不同,FlashDB结合了 Flash 的特性,具有较强的性能及可靠性。并在保证极低的资源占用前提下,尽可能延...
2022-01-26 15:07:45
3114
原创 GD32 RT_Thread Nano ---UNALIGNED 非对齐访问出错
一、背景1.硬件:GD32F10x2.软件:KEIL53.RTOS:RT_Thread Nano二、操作后出现的问题1.GD32裸机使用时,不会报错并且能正常运行,但是添加RT-Thread后,报错SCB_CFSR_UFSR:0x100 UNALIGNED三、错误log\ | /- RT - Thread Operating System/ | \ 3.1.3 build Jan 18 20222006 - 2019 Copyrig...
2022-01-19 17:33:21
1604
原创 GD32 RT_Thread Nano ---hard fault on thread
一、背景1.硬件:GD32F10x2.软件:KEIL53.RTOS:RT_Thread Nano二、操作后出现的问题1.添加FlashDB数据库后,系统出现了hard fault on thread的错误三、错误log\ | /- RT - Thread Operating System/ | \ 3.1.3 build Dec 17 20212006 - 2019 Copyright by rt-thread team[SFU...
2021-12-17 17:26:49
1722
原创 GD32+EEPROM(IO)
一、测试环境1.芯片:GD32F10x2.EEPROM:BL24CM1A3.SCL引脚:推完输出(硬件没上拉)4.SDA引脚:浮空输入(硬件没上拉)二、功能1.使用IO模拟的方式,实现读写EEPROM;三、问题描述1.很久没有调试IIC(模拟),程序移植完成之后,进行校验时(固定地址读写数据),读到的数据一直时0.四、排查1.使用示波器查看,波形没有突变,高低电平时间大于EEPROM芯片数据手册提供的“最低高低电平保持时间”;2.使用示波器查看,所有波形对应...
2021-12-07 17:48:12
1453
原创 GD32 程序可以下载,但是主程序不能运行---BOOT0高电平导致
一、环境1.芯片:GD32F10x2.程序:可在其他板子上正常运行3.下载器:J-LINK二、问题1.程序可以通过J-LINK下载2.但是主程序没有运行三、问题现象1.KEIL仿真:1)仿真后直接运行,但是并没有运行到主程序(main函数)中。2)查看汇编,可以执行,但是执行的地址是在0x1FFF Fxxx,并且一直在循环执行。2.硬件查看1)晶振没有正常运行2)3.3v供电正常四、查资料思考1.首先仿真时汇编运行的地址不对,...
2021-12-03 18:55:24
6142
原创 GD32 RT-Thread Nano+FinSH组件
一、FinSH组件的命令执行流程图二、执行环境1.芯片:GD32F10x2.串口: #define FINSH_UART USART1 #define FINSH_UART_CLK RCU_USART1 #define FINSH_TX_PIN GPIO_PIN_2 ...
2021-12-03 17:30:53
2534
原创 GD32 DAC+TIMER+DMA实现正弦波
一、目的1.使用GD32的DAC、TIMER、DMA实现正弦波二、原理1.正弦波:周期一定,相同时间间隔时能够取得不同的数值(符合SIN函数)。二、芯片功能组合实现SIN1.DAC:能够输出不同的电压值(0-3.3v)2.TIMER:能够提供均匀的时间3.DMA:能够将数据从存储器传输到外设而不占用CPU资源4.SIN数据:本工程中使用的是“野火”DAC正弦波工程中提供的正弦数据四、GD32实现正弦波的步骤图1.步骤一:定时器按固定间隔触发DAC2.步骤...
2021-12-03 09:52:34
4584
1
原创 GD32高密度 SPI2重映射不能配置问题
一、问题描述1.GD32F103RCT6(高密度芯片)在配置SPI2的重映射时,发现程序中没有对应的映射函数;但是查看文档中确实可以配置。1)GD32F103RCT6(高密度芯片)包含3个SPI2)SPI2的重映射引脚(可以配置)3)寄存器中显示(可以配置)4)gd32f10x_gpio.h文件中的重映射配置---此版本是GD32F10x_Demo_Suites_V2.1.0(但是程序中不能进行配置)二、问题所在1.gd32f10x_gpio.h文件中..
2021-12-02 11:53:05
2769
原创 GD32F103Cx中JTAG引脚如何配置为普通IO或复用其他功能
一、PA15配置为普通IO,PB3配置为TIMER1通道CH1的相关代码1.PA15如何配置为普通IO#define A_PIN GPIO_PIN_15#define A_GPIO GPIOA#define A_CLK RCU_GPIOAvoid micromotor_alarm_gpio_config(void){ //1.GPIO引脚时钟使能 rcu_periph_clock_enable(A_GPIO_CLK); //2.复用功能时钟使能
2021-07-24 23:34:57
7212
6
原创 作为嵌入式软件工程师在项目开发时的一些易错总结-05
一、一个开关选择芯片引发的逻辑混乱问题1.问题描述:初始化时,使用开关选择芯片,只能改变一边的状态;但是在运行过程中,可以分别控制两边;但是方向是反的;2.当时脑子一团雾水,没有一点想法;3.查看开关芯片手册,发现和自己所确定的并不是同一个芯片;原因是,本项目用了不只一个开关芯片,经验主义使用了另外一个芯片的手册;4. 但是仔细查看芯片,发现只对回复有影响,对发送没有影响?另外在修改真值表后,问题还是存在;5.又考虑开关芯片的开关变换时的时间是否有限制;增加延时函数,没有明显改变;6.最后分别控
2021-06-26 11:59:06
1075
原创 作为嵌入式软件工程师在项目开发时的一些易错总结-04
3.总线带宽计算 带宽:是指计算机每秒钟由存储器读取的二进制数据的位数。 总线带宽:指这条总线在单位时间内可以传输的数据总量。 总线周期:一个总线周期由几个时钟周期组成。 ---例题1:某计算机字长16位,存储器存储周期为500ns,存储器带宽----32Mbit/s. 计算:(1秒钟访问RAM的次数)1/500ns;每次访问RAM读取16bit;所以带宽=16bit*1/500ns=32Mbit/s ---例题2:假设某系统总线在一个总线周期中并行传...
2021-06-05 10:59:44
445
4
原创 作为嵌入式软件工程师在项目开发时的一些易错总结-03
一、关于运算符“==”1.运算符“=”是赋值的意思;例如:int a=0;意思为将int型变量赋值为0。2.运算符“==”确实判断的意思,结果只有1或0;例如:int a=0,b=-5,c; c= a==b; c的值是多少? 答案是:0。原因就是因为运算法“==”判定a≠b,判定结果为0;所以之后将0赋值给了c。一、字符串的结束符是'\0'===>'\0'对应ASCII表的值就是0(NULL); 一、char str[1...
2021-05-25 11:58:56
238
原创 作为嵌入式软件工程师在项目开发时关于GPIO寄存器的读取-02
问题:while((GPIO_ISTAT(HC_SR04_Echo_GPIO)&(HC_SR04_Echo_PIN)) == SET) -----发生了一间很诡异的事,使用寄存器操作,比值是出现很诡异的不同。???不清楚为什么,还需要进一步查询 typedef enum {RESET = 0, SET = !RESET} FlagStatus; 结论是:自己学艺不精,此语句本身就有问题。 解释:1.首先需要确认逻辑运算符‘!’的功能;例如:RESET ...
2021-05-19 13:40:34
769
2
转载 三相直流电机-利用反电动势的过零点来测转子位置在讨论无转子位置
文章声明:本文出处为程序员大本营文章转载于:https://www.pianshen.com/article/53921090672/本文链接:https://blog.youkuaiyun.com/u010671230/article/details/79527007传感器的无刷直流永磁电动机的关键问题之前,我们先把无刷直流永磁电动机定义为:功率逆变器采用120°导通型半桥逆变电路;电动机运行时,永磁转子磁极在定子每相电枢绕组内感生呈梯形波的反电动势;驱动电压是准矩形波,电枢电流是梯形波;在360°电角度
2021-05-17 11:04:12
4230
原创 作为嵌入式软件工程师在项目开发时的一些感受分享-01
嵌入式软件工程师在项目开发时的一些感受分享 我记得刚开始学习嵌入式的时候,我使用的是友善之臂S3C2440芯片的一款产品----对,我跳过了单片机阶段,直接开始linux系统的学习;所以在学习阶段,我跳过了建设地基,直接开始了建设高楼,导致我对嵌入式的理解一直是有缺陷的(现在也在丰富中)。 幸好当时我意识到了这个问题,所以我在选择第一家公司的时候,偏向于做单片机产品,兼顾linux系统的公司,结果是我的运气非常不错。我入职的第一家公司有从单片机(Cortex-M3)到系统linux(Co...
2021-05-14 09:11:47
499
原创 RT-Thread遇到的问题---多个信号量的初始化问题
RT-Thread遇到的问题—多个信号量的初始化问题一、代码如下:struct rt_semaphore* BLE_sem;struct rt_semaphore* MOTOR_sem;struct rt_semaphore* WH4G_sem;struct rt_semaphore* VOICE_sem;`tid = rt_sem_init(BLE_sem,"BLE_sem",0,RT_IPC_FLAG_FIFO);if(tid!=RT_EOK) printf("BLE_sem init f
2021-05-07 18:08:54
617
17-STM32F10X系列 ADC及寄存器记录 .docx
2021-01-02
16-STM32F10X系列 DMA记录 .docx
2020-12-30
15-STM32F10X系列 串口RS485记录 .docx
2020-12-23
14-STM32F10X系列 模拟IIC记录 .docx
2020-12-22
13-STM32F10X系列 SPI及寄存器记录 .docx
2020-12-21
12-STM32F10X系列 串口及寄存器记录 .docx
2020-12-18
11-STM32F10X系列 低功耗及寄存器记录 .docx
2020-12-16
10-STM32F10X系列 RTC及寄存器记录 .docx
2020-12-16
STM32F10X系列 通用定时器输入捕获及寄存器记录.docx
2020-12-11
STM32F10X系列 通用定时器PWM及寄存器记录.docx
2020-12-11
STM32F10X系列 通用定时器中断及寄存器记录.docx
2020-12-11
STM32F10X系列 看门狗及寄存器记录.docx
2020-12-07
STM32F10X系列 EXTI及寄存器记录.docx
2020-12-03
STM32F10X系例 NVIC及寄存器记录.docx
2020-12-03
STM32F10X系例 Systick时钟及寄存器记录.docx
2020-12-03
STM32F10X系例 时钟及寄存器记录.docx
2020-12-03
STM32F10X系例 GPIO复用+重映射模式及寄存器记录.docx
2020-12-03
STM32F10X系例 GPIO模式及寄存器记录.docx是
2020-12-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人