IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 国产(华大)单片机 hc32f460入门 -> 正文阅读

[嵌入式]国产(华大)单片机 hc32f460入门

? ?最近闹芯片慌,黄牛各种炒作,芯片价格居高不下,暂时选择国产方案替代.

本次选用了华大 m4内核方案, hc32f460芯片,型号很多,64pin的 keta(该版本实际有货),100脚的petb(实际没货,开发板基本上都是这一款).

????????

?上图中左边是 100管脚的hc32f640petb, 右边是64脚hc32f460keta.

? 由于两个芯片系列相同仅管脚数量不同, 官方给力的例程 库函数等 基本上都是相同的.

? ?先拿着官方给的例子跑一下led实验.

? ?先看下电路图:

????????

? ? ? ? ?上图为hc32f460petb板子的定义:

led? 端口 PortC , 管脚? Pin13 (华大定义文件中是, 00 ,01 .....).

?该图是hc32f460KETA中led定义:

led? 端口 PortB , 管脚? Pin04(华大定义文件中是, 00 ,01 .....).

在官方提供的库中找到例程: 相对路径如下:

驱动库及样例\hc32f460_ddl_Rev2.1.0\example\ev_hc32f460_lqfp100_v2\gpio\gpio_output

keil5 mdk打开项目:

对于项目需要部分修改,直接编译会出现问题(问题不描述了,直接修改)

1.? 根据自己板子修改petb或者keta (本次使用keta )

?修改以上配置后 选择全部编译.

?编译例程没什么问题,现在根据之前从原理图获取的端口和管脚,修改例程中的代码:

?修改后代码如下:


#include "hc32_ddl.h"


/* LED0 Port/Pin definition */
#define  LED0_PORT        (PortB)
#define  LED0_PIN         (Pin04)

/* LED0~3 toggle definition */
#define  LED0_TOGGLE()    (PORT_Toggle(LED0_PORT, LED0_PIN))

/* 延迟时间扩大了10倍 */
#define  DLY_MS           (1000ul)


int32_t main(void)
{
    stc_port_init_t stcPortInit;

    /* configuration structure initialization */
    MEM_ZERO_STRUCT(stcPortInit);

    stcPortInit.enPinMode = Pin_Mode_Out;
    stcPortInit.enExInt = Enable;
    stcPortInit.enPullUp = Enable;

    /* 屏蔽swd调试 */
	PORT_DebugPortSetting(TDO_SWO | TDI | TRST, Disable);
    /* LED0 Port/Pin initialization */
    PORT_Init(LED0_PORT, LED0_PIN, &stcPortInit);

    while(1)
    {
        LED0_TOGGLE();
        Ddl_Delay1ms(DLY_MS);
    };
}

?上述代码中 多了一句:

    /* 屏蔽swd调试 */
	PORT_DebugPortSetting(TDO_SWO | TDI | TRST, Disable);

?原因可以从寄存机部分找到 PB4是复位管脚,? 使用时需要先屏蔽调试(swd使用了TRST(即PB4))

不添加的情况会出现,代码烧录正常,led常亮,不闪烁.

编译烧录 看下实验结果(稍后上传):

100ul延迟演示

1000ul延迟实验演示

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-08-10 13:34:55  更:2021-08-10 13:37:57 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/12 21:14:23-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码