GD32F470 紫藤派派开发板教程
文章平均质量分 93
紫藤派派开发板教程
聚沃科技&GD32 MCU
聚沃科技官网:www.gd32bbs.com;GD32 MCU技术交流Q群:859440462;V群+13905102619 开发板购买:https://juwo.taobao.com/
展开
-
【GD32F470紫藤派使用手册】第十三讲 USB_虚拟键盘实验
USB传输的最小单位为包,一个包被分成不同的域,根据不同类型的包,所包含的域是不一样的,但是不同的包有个共同的特点,就是以包起始(SOP)开始,之后是同步域(0x00000001),然后是包内容,最后以包结束符(EOP)结束这个包。在该代码清单中,首先配置设备类callback函数,之后创建字符串,配置USB以及初始化USB内核,断开USB连接,初始化USB设备模式,之后设置USB连接,将USB连接状态配置为DEFAULT默认状态,启动状态机。对字符串描述符的支持是可选的,有些类可能会需要它们。原创 2024-05-19 10:41:04 · 897 阅读 · 0 评论 -
【GD32F470紫藤派使用手册】第十二讲 SSDIO-SD卡读写实验
SDIO初始化配置在sd_io_init()函数中,其中包括sd_init()初始化、sd_card_information_get()SD卡信息获取、sd_card_select_deselect()SD卡选择、sd_cardstatus_get()SD卡状态获取、sd_bus_mode_config()SD卡总线宽度配置以及sd_transfer_mode_config()SD卡通信模式配置,历程中选择了4线查询模式。SD卡正常工作,就是根据SD卡初始化流程图,发送命令,收到回复,直到流程结束。原创 2024-05-18 10:12:43 · 1109 阅读 · 0 评论 -
【GD32F470紫藤派使用手册】第十一讲 SPI-SPI NOR FLASH读写实验
这样,两个移位寄存器中的内容就被交换。2、按page写数据函数bsp_spi_nor_page_write,该函数实现在page范围内写数据,该函数流程是:使能NOR FLASH的写功能->拉低片选->向NOR FLASH发送写指令WRITE(0x02)->从低地址到高地址发送要写的地址(每次进行写数据时,只需要给初始地址即可,写完一个数据后NOR FLASH内部会自动把地址+1)->写数据->拉高片选->等待NOR FALSH内部操作完成(循环去读NOR FLASH状态,直到读出编程状态为0)原创 2024-05-17 10:45:35 · 1169 阅读 · 0 评论 -
【GD32F470紫藤派使用手册】第十讲 USART-中断串口收发实验
3.RBNE(接受非空):当串口接受到一个字节数据,RBNE置“1”,此时CPU可以去数据寄存器中取数据,当使用了DMA接受,DMA自动将数据寄存器中数据搬走,当数据寄存器数据被读走/搬走,RBNE位自动清“0”;发送时,除了发送数据寄存器,还有一个移位寄存器,当数据写入数据寄存器中,移位寄存器空闲的情况下,数据从数据寄存器中转移到移位寄存器,移位寄存器按照低bit——高bit的顺序将数据移位到IO口上。接收时,接收到的数据保存在数据寄存器中,CPU或DMA可以从该寄存器中读接收到的数据。原创 2024-05-14 11:10:34 · 1223 阅读 · 0 评论 -
【GD32F470紫藤派使用手册】第九讲 USART-printf打印实验
校验位是为了保证通信的可靠性,如果是奇校验,需要保证传输的数据总共有奇数个逻辑高位,如果是偶校验,需要保证传输的数据总共有偶数个逻辑高位。和串行通讯相对应的是并行通讯,并行通信指一个传输接口可以传输8个bit即一个byte(有时甚至更多),虽然串行通信比并行通信慢,但是串口可以在仅仅使用两根线的情况下就能实现数据的传输。GD32F470串口接收器支持16倍(默认)过采样和8倍过采样,16位过采样即发送方发送数据后,GD32470串口接受器会将每个bit采样16次,如果是8倍过采样,则采用8次。原创 2024-05-13 10:44:41 · 1057 阅读 · 1 评论 -
【GD32F470紫藤派使用手册】第八讲 ADC-规则组多通道采样实验
* ADC初始化 */举个例子,现需要按照CH3->CH2->CH1的顺序进行规则组转换,则设定RL[3:0] = 2,然后设定RSQ0为CH3,RSQ1为CH2,RSQ2为CH1,则当开始规则组转换时,ADC首先进行RSQ0规定的通道即CH3的转换,再进行RSQ1规定的通道即CH2的转换,最后进行RSQ2规定的通道即CH1转换,当这三个通道转换完后,规则组转换结束。/*DMA时钟开启*/原创 2024-05-12 10:58:03 · 1069 阅读 · 0 评论 -
【GD32F470紫藤派使用手册】第七讲 FWDG-看门狗实验
本例程main函数首先进行了延时函数初始化,再初始化LED0和LED1,并将LED0点亮2s钟后熄灭,然后配置独立看门狗时钟预分频为64分频,重载值为1000,即超时时间为625/(32K/64) = 1.25s,再每500ms翻转一次LED1,同时进行喂狗,最后进入while(1)循环。独立看门狗的时钟源来自于IRC32K,这个内部时钟实际上不是非常的准确,所以在设定看门狗重载值和分配器时需要留有一定的余量,防止应用程序由于IRC32K频率偏差而来不及喂狗,导致不必要的MCU复位。原创 2024-05-11 10:28:08 · 1012 阅读 · 1 评论 -
【GD32F470紫藤派使用手册】第六讲 TIMER_3路PWM输出实验
6.1 实验内容通过本实验主要学习以下内容:6.2 实验原理本例程中,采用TIMER5进行定时中断,在中断中改变TIMER0前三个通道的占空比,使用示波器或逻辑分析仪,可以测量TIMER0前三个通道PA8、PA9和PA10的波形。也可以通过飞线的方式将三个IO口分别接到红绿蓝三种不同颜色灯珠上,实现RGB彩灯的效果。6.3 硬件设计TIMER0的前三个通道分别为PA8、PA9和PA10,读者直接对开发板上引出的排针进行测试即可。6.4 代码解析本例程使用了两个TIMER,其中TIMER5用来产生30ms的周原创 2024-05-08 09:36:50 · 778 阅读 · 1 评论 -
【GD32F470紫藤派使用手册】第五讲 PMU-低功耗实验
进入待机模式前,先将Cortex®-M4 系统控制寄存器的 SLEEPDEEP 位置 1,再将 PMU_CTL 寄存器的 STBMOD 位置 1,再清除 PMU_CS 寄存器的 WUF 位,然后执行 WFI 或 WFE 指令,系统进入待机模式,PMU_CS 寄存器的 STBF 位状态表示 MCU 是否已进入待机模式。低功耗模式相关数据可参考下表,不同的低功耗模式是通过关闭不同时钟以及电源来实现的,关闭的时钟和电源越多,MCU所进入的睡眠模式将会越深,功耗也会越低,带来的唤醒时间也会越长,其唤醒源也会越少。原创 2024-05-07 09:59:56 · 1017 阅读 · 0 评论 -
【GD32F470紫藤派使用手册】第四讲 FMC-片内Flash擦写读实验
Flash写入多字节操作函数如下所示,写入的过程主要分为擦写两个操作,由于Flash特有特性,需要先擦除才可以写入,因而需要确保写入地址的初识数据为0xFF。有关Flash擦写操作均需要先解锁Flash,然后进行擦写操作,擦写完成后再进行锁Flash,注意Flash特性只能由1写0,也就是Flash需要先擦除才能写入新的数据,如果确保写入地址的数据为全0xFF,也可以直接写入。原创 2024-05-06 11:37:07 · 861 阅读 · 1 评论 -
【GD32F470紫藤派使用手册】第三讲 EXTI-按键中断检测实验
NVIC可以支持抢占以及咬尾中断,具有多达68种外设中断以及4位中断优先等级配置(最多支持16个中断有限等级),当中断或异常产生时,系统自动将当前处理器工作状态压栈,在执行完中断服务子程序(ISR) 后自动将其出栈。EXTI框图如下图所示,极性控制用于控制边沿检测,可实现对外部EXTI信号线进行检测判断,当符合相关极性配置的EXTI信号出现后,将会发出EXTI请求,硬件EXTI请求与内部软件触发信号相或,然后输出给NVIC中断向量控制器产生中断以及输出至唤醒单元进行唤醒,也即是内部软件也可以触发相关请求。原创 2024-05-05 09:53:01 · 1160 阅读 · 0 评论 -
【GD32F470紫藤派使用手册】第二讲 GPIO-按键查询实验
if(bsp_key_state_get((typdef_bsp_key *)KEY_INIT_GROUP[i])==SET && ((typdef_bsp_key *)KEY_INIT_GROUP[i])->press_cycle_count < 0xffff) //持续60s被按下按键可能损坏。用户按键未按下时为高电平,按下后用户按键为低电平,通过读取按键对应GPIO引脚的电平状态可检测对应按键是否被按下。/* 按键扫描结果检查:检测任意按键和多按键组合按下时间,所有按键弹起后有效 */原创 2024-04-30 11:58:03 · 627 阅读 · 1 评论 -
【GD32F470紫藤派使用手册】第一讲 GPIO-流水灯实验
2、输入控制,输入可配置内部上拉或者下拉,内部上下拉电阻均为40K左右,然后通过内部施密特触发器输入到内部,之后可以外设通过备用功能输入或者通过输入状态寄存器读取,施密特触发器的实现功能为输入电压由低到高变化时,低于VIL为低,高于VIH为高,在VIL和VIH之间为低,输入电压由高到低变化时,高于VIH为高,低于VIH为低,在VIL和VIH之间为高,因而为了可靠读取输入电平状态,输入电压高电平需要高于VIH,低电平需要低于VIL才可靠,一般VIL为0.3 VDD,VIH为0.7 VDD;原创 2024-04-30 10:03:46 · 1170 阅读 · 1 评论