调试记录 单片机GD32F103C8T6(兆易创新) 程序烧写完成但是没有现象 (自己做的板子)

1. 单片机GD32F103C8T6 的资料

CPU内核:ARM Cortex-M3

CPU最大主频:108MHz

工作电压范围:2.6V~3.6V

程序存储容量:64KB

程序存储器类型:FLASH RAM, 总容量:20KB

GPIO端口数量:37

最高主频可达108MHz,

资料链接:1473490296871.pdf (szlcsc.com)



2. 问题现象及说明

  1. 烧写最简单的 跑马灯程序,但是板子上的LED灯没有反应。

  2. 检查单片机电压电源是否正常。 实际情况:供电正常。

  3. 检查单片机的晶振是否起振。 使用示波器测量,晶振已经起振。(有正弦波的波形)

  4. 检查软件方面程序是否正确 。 (官方例程,程序正常)

  5. 软件程序烧写是否正常? (Keil5 显示烧写正常,并且程序烧写成功)



3. 问题解决过程

  1. 因为硬件上面没有可以查的东西了,所以我们先查软件。

  2. 软件人员启动在线调试,一个命令一个命令的执行,发现 程序卡在 一个时钟函数的while 循环里面, 查一下发现是一个 根据 晶振起振时间来判断,外部晶振是否正常的函数。假如起振时间小于0.9S 程序将卡在 while 循环起不来。 到了这里我知道是 单片机晶振的问题。

  3. 我一看原理图 晶振旁的电容(滤波电容)溶值是 30pF, 我观看cpu是GD32F103C8T6的多个原理图,发现 8MH 晶振旁的电容溶值一般是 10pF, 或者 22pF。

  4. 我把电容换成 10pF 的, 程序还是卡在了晶振的计时函数里面, 我想了下,叫软件技术人员把 外部晶振的 起振计时的值调大一点, 本来是 0.9S, 调成了 1.2 S,。

  5. 最后程序正常执行,问题解决。

相关推荐
深圳老胡10 小时前
STM32 MCU 国产替代型号简介
笔记·stm32·单片机·代码规范
殷忆枫11 小时前
基于STM32的独居老人语音/一键双模紧急呼救系统设计与实现
stm32·嵌入式硬件·xcode
袁章根11 小时前
基于瑞昱RTL8367S交换机电路设计(一)
网络·嵌入式硬件·硬件架构·硬件工程
深圳市恒锐丰科技杨生11 小时前
EG44273 20V 低压单通道低侧栅极驱动芯片|屹晶 EGmicro
嵌入式硬件·硬件工程
搁浅小泽12 小时前
通用二极管选型设计规范
单片机·嵌入式硬件·设计规范
HRTOS12 小时前
HRTOS 4.0 将长期维护:为什么版本号不再频繁变化
经验分享·git·单片机·51单片机
深圳老胡12 小时前
STM32 在 VSCode 下 -O0 与 -Os 编译条件的区别
笔记·stm32·单片机·代码规范
智感子17 小时前
测控链路:从传感器到上位机
人工智能·嵌入式硬件·fpga开发
新晨单片机设计19 小时前
S021A-基于STM32单片机自动追光系统(步进电机)【Proteus仿真+Keil程序+原理图】
stm32·单片机·proteus·自动追光系统
恒锐丰科技林技术员21 小时前
EG2129 带过流保护全桥驱动芯片解析
经验分享·嵌入式硬件·硬件工程