- 博客(14)
- 收藏
- 关注
原创 GD32F103 定时器PWM输出
PWM:英文全称“Pulse Width Modulation”也叫“脉冲宽度调制”是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。简单一点,就是对脉冲宽度控制。库函数名称库函数描述复位外设TIMERx初始化外设TIMER结构体参数timer_init初始化外设TIMERx使能外设TIMERx除能外设TIMERxTIMERx自动重装载影子使能TIMERx自动重装载影子除能TIMERx更新使能TIMERx更新除能设置外设TIMERx的对齐模式。
2024-11-16 17:12:54 237
原创 GD32F103- 定时器中断实验
定时器和定时器之间是相互独立,但是他们可以被同步在一起形成一个更大的定时器,这些定时器的计数器一致地增加。下载地址:https://blog.csdn.net/weixin_44501991/article/details/143715172?
2024-11-15 17:59:58 223
原创 GD32F10x用户手册中文版下载
在红框内输入GD32F10然后点击搜索,下滑找到“GD32F10x User Manual”点击后面文档图标,文档分为英文和中文,点击文档图标后会打开文档,然后点击保存文档即可。官网网址:https://www.gd32mcu.com/cn/download?进入官网后,在搜索框内输入你需要查找的资源名称。
2024-11-12 15:15:01 156
原创 GD32F103-窗口看门狗定时器(WWDGT)
看门狗定时器(WDGT)有两个:1、独立看门狗定时器(FWDGT)GD32F103 独立看门狗定时器(FWDGT)学习-CSDN博客2、窗口看门狗定时器(WWDGT)(这篇介绍的是这个)窗口看门狗定时器(WWDGT)是用来监测由软件故障导致的系统故障。窗口看门狗定时器相对于独立看门狗定时器,它的精度更高,窗口看门狗开启后,7为向下递减计数器值逐渐减小。计数值达到0x3F是会产生复位(CNT[6]位被清0)。在计数器计数值达到窗口寄存器之前,计数器的更新也会产生系统复位。
2024-11-11 18:15:29 825
原创 GD32F103 独立看门狗定时器(FWDGT)学习
其实这个就跟空调的定时关闭差不多,假设我每次都定时一小时,定时还没有到的时候,我在定时一小时他就又从新开始计时,如果在这一小时没有从新定时,空调就会关闭。从主函数可以看出,程序运行时会先执行串口打印‘3’,然后cnt变量每1秒加1,每两秒串口输出'2',喂狗时串口输出'1'。具体作用就是假设我们程序卡在某个死循环中,程序无法正常运行,如果加入看门狗,程序就会复位,然后从新启动程序。
2024-11-08 17:23:37 528
原创 GD32f103-USART串口学习
STM32 USART通信协议详细讲解—小白入门_stm32 usart cts rts-CSDN博客从上图红色区域为芯片外部也就是引脚,其他在芯片内部,重要引脚描述如下引脚类型描述RX输入接收数据TX输出I/O(单线模式/智能卡模式)发送数据。当USART使能后,若无数据发送,默认为高电平CK输出用于同步通信的串行时钟信号nCTS输入硬件流控模式发送使能信号nRTS输出硬件流控模式发送请求信号函数名描述功能复位外设输入参数:功能配置USART波特率。
2024-11-07 19:23:19 804
原创 GD32F103 EXTI外部中断
EXTI有三种触发类型:上升沿触发,下降沿触发和任意边沿触发,EXTI中的每个边沿检测电路都可以独立配置和屏蔽。3.1、exti_init函数(这里个函数选择性设置寄存器为(EXTI_INTEN,EXTI_EVEN,EXTI_RTEN,EXTI_FTEN))3.3、gpio_exti_source_select(设置AFIO_EXTISSx(x=0~3))3.2、exti_interrupt_flag_clear(清除EXTI_PD对应的寄存器位)2.3、上升沿触发使能寄存器(EXTI_RTEN)
2024-11-04 16:35:00 590
原创 GD32F103 KEY实验学习
这里初始化PA2为浮空输入,但是根据GPIOx_CTL0寄存器发现我们设置为输入的时候,速度应该设置为00输入模式,但是这里确是设置的50MHz,我们跳转到函数gpio_init里面,由于GPIO_MODE_IN_FLOATING=0x04,所以不满足下面这个判断,也就没有设置speed。可以看到这里我们延时了20ms,为什么需要延时20ms,因为我们按键按下时可能会有杂波,导致按键响应异常,具体可以参考博文“2.1、端口控制寄存器0(GPIOx_CTL0,x=A~G)01:输出模式(10MHz)
2024-11-01 15:34:50 376
原创 GD32F103,LED实验
GPIO的英文全称General-Purpose Input/Output ports,中文意思是通用输入/输出端口每个通用I/0端口都可以通过两个32为的控制寄存器(GPIOxCTL0 / GPIOx_CTL1)和两个32为的数据寄存器(GPIOx_ISTAT,GPIOx_OCTL)配置8中模式如下:名称基地址名称基地址GPIOA0x4001 0800GPIOE0x4001 1800GPIOB0x4001 0C00GPIOF0x4001 1C00GPIOC0x4001 1000GPIOG0x4001 20
2024-11-01 09:18:40 723
原创 GD32F103 sysTick学习
这里我们可以看到我们使用SysTick_Config函数进行配置,配置完成后,一直在systick_config的while循环中倒计时,每次计数到0时,就会把SysTick->LOAD中的值再次给SysTick->VAL,这里可以看出“SysTick控制及状态寄存器”和“SysTick重装载数值寄存器”和我们设置的一样。第一个是内核的“自由运行时钟”FCLK。问题1:这里有个问题,为什么上述说外部时钟我们可以思考一下,我们设置的是外部时钟源(STCLK),外部时钟源是多少呢,又是从什么地方来的呢?
2024-10-28 10:28:01 1064
原创 GD32F103时钟配置分析
IRC8M:高速内部时钟(这个是芯片自带的内部时钟,精度较低,一般很少使用)HXTAL:高速外部时钟(外部晶振,精度高)LXTAL :低速内部时钟(外部低速晶振,精度高,常用于看门狗)IRC40K:低速内部时钟(精度低,常用于看门狗,一般很少使用)RCU基地址:2.1、控制寄存器(RCU_CTL)位/位域名称描述[31:26]保留必须保持复位值。[25]PLLSTBPLL时钟稳定标志位硬件置1来表示PLL输出时钟是否稳定待用0:PLL未稳定1:PLL已稳定[24]
2024-10-23 15:48:59 992
原创 2020-08-15
跑马灯实验介绍:为什么要用推挽输出,因为推挽输出他是可以输出强高低电平的。用到的文件:stm32f10x_gpio.h和stm32f10x_gpio.c,misc.c和stm32f10x_rcc.c这几个文件是必须用到的。因为点亮LED是需要用到定时器的,所有要用stm32f10x_rcc.c寄存器介绍:每组IO口含下面7个寄存器。也就是7个寄存器,一共可以控制一组GPIO的16个端口硬件连接(下面用的是高电平点亮代码)低电平点亮 ...
2020-08-15 23:35:28 246
原创 stm32程序下载不成功
解决方法1先检查stm32芯片旁的晶振是否焊接错误,如果没有错看下有没有虚焊解决方法2如果第一次下载成功则可能是芯片型号错误,可以通过启动芯片的三种模式,启动boot模式,使单片机上电过后不进入Flash进行执行程序启动方法:boot引脚接入高电平(3.3V)解决方法3检查最小系统边的电容和电阻芯片是否焊接正常(电容和芯片容易虚焊)如果上述三种方法都检查过后,如果都没有问题,则可以换一个芯片参考文献https://blog.csdn.net/guosir_/ar...
2020-06-17 22:50:27 2430
原创 STC89C52通过寄存器点亮一个LED
我们使用的板子是教学用的STC89C52的板子书本是“手把手教你学51单片机”我们通过观察原理图得到我们要使LED2这个灯打开,我们首先要把Q16这个PNP的三极管打开,而要把这个三极管打开我们就得给LEDS6这个地方给高电平才能使Q16这个三极管导通,通过看原理图发现这个引脚连接的的是一个“74H138”的芯片,我们要使这个LEDS6这个引脚输出高电平,而要是这个引脚输出高电平我们要把...
2019-12-12 11:37:36 811
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人