
HC32
cp1300
电子爱好者
展开
-
HC32F4 硬件IIC接口驱动OLED
HC32F4单片机硬件IIC驱动,OLED驱动,IIC接口OLED驱动,OLED1306驱动原创 2023-02-17 13:33:49 · 900 阅读 · 0 评论 -
HC32F4裸机UART串口驱动(寄存器操作)
HC32F4裸机UART串口驱动,接口与之前使用STM32接口兼容,主要使用DMA操作,可以选择中断接收还是DMA接收模式,如果有嵌入式实时操作系统,优先使用DMA,简单方便,由于DMA通道不够多,每个串口接收独占,发送循环调用,具体见下一篇博文的DMA代码。原创 2023-02-13 21:01:21 · 805 阅读 · 0 评论 -
HC32F4正交编码计数 HC32F4外部计数
HC32F4单片机正交编码计数或外部计数模式使用代码原创 2023-02-10 13:32:56 · 1135 阅读 · 0 评论 -
HC32F4A0 以太网调试问题(测试发现各种逻辑问题)
使用HC32F4A0以太网收发数据,测试发现不稳定,经常无法接收或无法发送,最终原因是PCLK1时钟没有超过50MHz原创 2022-07-23 11:49:41 · 2317 阅读 · 1 评论 -
SC7A20 三轴加速度传感器 驱动
使用IIC接口读取SC7A20三轴加速度传感器,并完成Z轴倾斜计算功能;原创 2022-07-04 18:06:09 · 13923 阅读 · 16 评论 -
HC32FA AES加密解密 AES128 AES192 AES256驱动
测试硬件为HC32F4A0单片机,使用内部硬件AES模块完成128bit,192bit,256bit AES加密解密功能,AES ECB模式,自动填充0;目前只有128bit加密解密与测试工具相符,192 256bit测试不相同,希望知道原因的小伙伴在下面留言告知一下原因;上代码:/***********************************************************************************************************原创 2022-02-16 17:44:24 · 1030 阅读 · 0 评论 -
HC32F4 CRC32校验(附软件CRC32校验)
首先上硬件CRC32校验,测试平台为HC32F4A0,只使用了CRC32校验,由于CRC16校验种类繁多,意义不大,CRC32校验支持一次校验所有数据,以及分段校验(这个很重要),单片机中由于内存不够大,校验的时候需要分段进行校验,以降低内存消耗;/************************************************************************************************************* * 文件名 : hc32f4a0原创 2022-02-16 13:10:45 · 3758 阅读 · 0 评论 -
AES128加密/解密(单片机可用)
通过网上代码进行修改,将输入输出缓冲区复用,降低内存消耗,使用需要注意的是,加密数据长度可以不是16字节整数倍,但是缓冲区必须是16字节整数倍,不足部分会自动补充0,解密数据长度必须是16的整数倍;/************************************************************************************************************* * 文件名 : AES128.c * 功能 : AES128加密/解密操作原创 2022-02-15 10:53:41 · 7377 阅读 · 1 评论 -
华大HC32F4A0/F460串口裸机驱动
使用了DMA以及中断,测试比较简单,代码是F460上面用的,今天试了F4A0也可以直接用,需要提前初始化DMA,INT,以及IO复用功能;/************************************************************************************************************* * 文件名: uart.c * 功能: HC32F4A0 UART通讯支持 * 作者: cp1300@139.com * 创建原创 2021-11-19 21:11:41 · 2971 阅读 · 0 评论 -
华大HC32F460 内存使用注意事项(内存bug)
最近调试HC32F460出现各种奇怪问题,程序不断的从不同位置崩溃,比如增加了堆栈大小(注意,是增加,而且是增加的足够大),修改了一些无关代码,增加了一个啥都不做的线程,等等都会导致程序各种异常,而且调试也找不出原因,表现为与内存溢出一样,内存无然无故变了,但是可以肯定是内存没有溢出,还有的内存竟然无法修改,修改后自己复原了,心里一万个曹尼玛,还有这样的单片机。但是通过两天的调试,最后怀疑可能是内存问题,之前发现HC32无法使用1,2,1这种方式对齐访问,而其他单片机则不影响,带着怀疑测试,将SRAMH原创 2021-09-27 21:42:26 · 5365 阅读 · 2 评论 -
W25QxxxJV系列flash 4线模式驱动 使用HC32F460 QSPI驱动
QSPI可以使用4线模式对SPI flash进行读取,但是写入只能使用1线模式,目前测试使用的是W25Q128JV,注意不是所有的都支持4线模式,4线模式下通常只支持读取,目前测试主要是写入操作,读取操作直接进入ROM模式,使用内存映射即可,非常方便,具体测试例子见上一篇博文;/************************************************************************************************************* *原创 2021-08-27 10:36:43 · 4114 阅读 · 0 评论 -
HC32F460 QSPI底层驱动(W25Q128)
//QSPI========================================================================================================#define QSPI_BASE (0x9c000000UL) //寄存器基址typedef struct{ vu32 CR; //控制寄存器 vu32 CSCR; //片选控制寄存器 vu32 FCR; //格式控制..原创 2021-08-27 10:31:48 · 2000 阅读 · 0 评论 -
HC32F46x底层操作(时钟,IO等初始化)
//相关APIbool SYS_SystemClockInit(SYS_CRYSTAL_SOURCE CrystalSelect, bool PLLEnable, u16 MainClockFreq);//HC32F46X系统主时钟初始化void SYS_DeviceClockEnable(SYS_DEV_CLOCK DevCloce,bool Enable); //外设时钟使能或关闭控制void SYS_GPIOx_SetAF(GPIO_TypeDef *GPIOx, u8 io_num, u8.原创 2021-08-23 17:34:20 · 1333 阅读 · 0 评论 -
HC32F46x 寄存器定义(裸机)
自己定义的底层寄存器地址/************************************************************************************************************* * 文件名 :hc32f46x_map.h * 功能 :HC32F46X寄存器映射 * 作者 :cp1300@139.com * 创建时间 :2021-06-10 * 最后修改时间:2021-06-10原创 2021-08-23 17:30:29 · 898 阅读 · 0 评论 -
HC32F460 内部flash驱动
内部flash写入的时候,需要将代码分配到内存中执行,烧写flash时,程序无法从flash执行的,这一点确实比STM32差一些;/************************************************************************************************************* * 文件名 : hc32f46x_flash.c * 功能 : HC32F46X 内部FLASH驱动 * 作者 : cp1300@139.原创 2021-08-20 09:54:31 · 2942 阅读 · 5 评论