当前位置: 首页 > news >正文

调试记录 单片机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. 最后程序正常执行,问题解决。


4.推荐文章

1. 外部晶振 软件部分的文章:STM32/GD32学习指南-踩坑之(一)外部晶振配置,初始化失败,不起振_stm32晶振设置_披着假发的程序唐的博客-CSDN博客

2. 软件 FLASH 存储空间设置错误的文章:GD32F303CCT6烧录_木龠的博客-CSDN博客

http://www.lryc.cn/news/213102.html

相关文章:

  • Leetcode刷题笔记--Hot91--100
  • 算法训练一——链表
  • 【JAVA】类与对象的重点解析
  • ES6对象扩展
  • docker应用部署---Tomcat的部署配置
  • TestCenter测试管理工具
  • 索引切片复习
  • 想入门网络安全,这些前置准备要做好!
  • Spark新特性与核心概念
  • 设计模式_状态模式
  • css 某个元素被挤的显示不完整,如何显示完整
  • pve lxc debian 11安装docker遇到bash: sudo: command not解决办法
  • springboot的缓存和redis缓存,入门级别教程
  • 语雀P0级时间爆发,留给运维的时间不多了?
  • LeetCode 2401.最长优雅子数组 ----双指针+位运算
  • NOIP2023模拟6联测27 无穷括号序列
  • java spring cloud 工程企业管理软件-综合型项目管理软件-工程系统源码
  • openEuler 22.03 x86架构下docker运行arm等架构的容器——筑梦之路
  • 【Java】HashMap常见的面试题
  • openpnp - src - 配置文件载入过程的初步分析
  • 中国各城市土地利用类型(城市功能)数据集(shp)
  • Linux网络编程:数据链路层
  • python 线程 超时时间
  • LeetCode:274. H 指数、275. H 指数 II(C++)
  • 多线程及锁
  • C++ 写一个Data类的注意问题
  • postman做接口测试
  • hdlbits系列verilog解答(always块)-29
  • uniapp实现瀑布流
  • 15. 机器学习 - 支持向量机