![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
GD32资源调试篇
文章平均质量分 83
丛林溪流
这个作者很懒,什么都没留下…
展开
-
GD32E230C8T6《调试篇》之 FMC(闪存)的读写 + USART打印
与GD32E103不同的是E230没有gpio_init这个库函数,所以参考例程是有帮助的;可以看到E230有64K的主flash,这里我选了0x0800 FC00,操作最后一页;说明使用PA9、 PA10的USART0时要选择AF1;初始化USART0 时才有了这两句;共同监督,一起努力!原创 2024-01-24 10:05:37 · 853 阅读 · 0 评论 -
GD32E230C8T6《调试篇》之 (软件) IIC通信(主机接收从机) + GN1650驱动芯片 + 按键 + 4位8段数码管显示 (成功)
IIC总线的SDA和SCL两根总线需要上拉,使总线处于空闲状态。IIC总线一共有两种状态、四种信号。除此之外还需要了解IIC总线的数据有效性。原创 2024-01-20 14:40:32 · 1619 阅读 · 0 评论 -
GD32E230C8T6《调试篇》之 (硬件) IIC通信 + GN1650驱动芯片 + 4位8段数码管显示(成功)
之前调试失败的主要原因找到了,i2c_data_transmit(I2C0,Address);不能这样传送从机的地址,我是受了软件IIC的影响,以为连续送两次就行;必须用下面的语句传送从机地址,i2c_data_transmit是用来传数据的;花了半天搞定,所以不能只写代码,不看芯片规格书;也不能只看规格书,不用代码验证;最后,连续插拔数码管几十次,硬件IIC确实容易死掉(芯片没有死,因为我的测试脚有高低电平输出),只有重新上电运行;以上就是使用GN1650的过程。原创 2024-01-17 11:10:17 · 657 阅读 · 0 评论 -
GD32E230C8T6《调试篇》之 (硬件) IIC通信 + GN1650驱动芯片 + 4位8段数码管显示(未成功)
芯片型号更换成E230了I2C(Inter-Integrated Circuit BUS) 集成电路总线,该总线由NXP(原PHILIPS)公司设计,多用于主控制器和从器件间的主从通信,在小数据量场合使用,传输距离短,任意时刻只能有一个主机等特性。软件IIC:软件IIC通信指的是用单片机的两个I/O端口模拟出来的IIC,用软件控制管脚状态以模拟I2C通信波形,软件模拟寄存器的工作方式。原创 2024-01-17 11:39:12 · 1142 阅读 · 0 评论 -
GD32E230C8T6《调试篇》之 (软件) IIC通信 + GN1650驱动芯片 + 4位8段数码管显示(成功)
注意GN1650是先传高位再传低位,我之前就是先传的低位,所以数码管不显示,此外要观察芯片对应的时序图,比如开始条件是SCL和SDA都为高电平,SDA先为低电平,SCL再为低电平,结束条件反之亦然;还有延时函数之前用的系统的delay_us();后来封装了一个简短的 IIC_Delay();时序的频率会更快;原创 2024-01-17 16:15:41 · 490 阅读 · 0 评论 -
GD32E103C8T6《调试篇》之独立看门狗(FWDGT)
两个看门狗定时器外设,独立看门狗定时器(FWDGT)和窗口看门狗定时器(WWDGT)。看门狗定时器(WDGT)是一个硬件计时电路,用来监测由软件故障导致的系统故障。它们使用灵活,并提供了很高的安全水平和精准的时间控制。两个看门狗定时器都是用来解决。看门狗定时器在内部计数值达到预设门限的时候,会触发一个复位。当处理器工作在调试模式。的时候看门狗定时器定时计数器可以停止计数。注释喂狗,芯片就会不断重启,时间大概1s;这两段来自用户手册。原创 2024-01-09 18:10:40 · 730 阅读 · 0 评论 -
GD32E103C8T6《调试篇》之ADC + USART打印
ADC的位数是其精度的描述,又或者说是最小分辨率,即数字值变化1对应的模拟信号变化是多大。查看GD32E103的用户手册,第12章写有,MCU片上集成了12位逐次逼近式模数转换器模块(ADC),可以采样来自于16个外部通道和2个内部通道上的模拟信号。不插温控座子时,走红色这条线,所以ADC0的值应该是满值4095或者接近4095(不同芯片有所不同,我的ADC为12的精度,2的12次方=4096,范围0-4095),但是我感觉ADC0的值受主芯片时钟和ADC时钟分频的影响,ADC0波动范围有变化;原创 2024-01-08 14:58:46 · 1262 阅读 · 0 评论 -
GD32E103C8T6《调试篇》之USART + 超时检测 (附代码)
PCB板是现成的,之前用的USART0,发现不对;在老工程师的指导下,发现必须要根据板的IO配置来编程。芯片:GD32E103C8T6编译环境:keil V5.35.0.0 / MDK-ARM V5.35.0.2。原创 2024-01-05 09:57:52 · 1428 阅读 · 1 评论