打印
[其它]

合泰32位单片机入门/以HT32F52352为例

[复制链接]
410|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
自动化陈稳|  楼主 | 2023-2-28 01:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
合泰32位单片机入门/以HT32F52352为例
Hi!很高兴看到你。以前经常在CSDN上查找资料,经常能找到想要的,因此也希望在此分享自己的学习心得与收获。32位的单片机其实都差不多,很多内核都是ARM系列,只是不同公司用的外设有些不一样,包括一些端口、库函数。之前有接触过STM32,但是不够深入,本文以HT32F52352为例,说明如果开始一个工程的简单配置。希望能帮助到一些初学者,如有错误请提出指正。(HT32F52352例程下载https://download.csdn.net/download/a_13290783356/11490501)
————————————————
版权声明:本文为CSDN博主「_C位出道_」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/a_13290783356/article/details/98875941

使用特权

评论回复

相关帖子

沙发
自动化陈稳|  楼主 | 2023-2-28 01:12 | 只看该作者
步骤
STEP1: 新建工程 (建议直接使用例程修改)

STEP2: 头文件

#ifndef _xxxx_H
#define _xxxx_H
#include "ht32f5xxxx_01.h"        //调用此头文件可以使用一些已经封装好的端口
#define xxx  yyy   //xxx表示重新定义的端口或者变量、常量;yyy表示xxx具体所指的端口、变量或者常量等,可以是已经封装好的端口
//……
void abcd(void);   // 添加所要用到此头文件的函数
//……
#endif   
                   //以空一行结束                 

使用特权

评论回复
板凳
自动化陈稳|  楼主 | 2023-2-28 01:12 | 只看该作者
STEP3: 子函数(可以用来配置端口功能)
#include xxxx.h  //已经写好的头文件
  void abcd(形参1,形参2,…)
{  
}           
                 

使用特权

评论回复
地板
自动化陈稳|  楼主 | 2023-2-28 01:12 | 只看该作者
STEP4: 配置IO口

#include "xxxx.h" 
     static void ECLOCK()                              //外设时钟配置
{
        CKCU_PeripClockConfig_TypeDef CKCUClock = {{0}};  //不开启外设时钟相应功能无法使用
        CCLOCK.Bit.AFIO  = 1;   //开启复用功能时钟
    CCLOCK.Bit.PA    = 1;   //开启PA口时钟
        CKCU_PeripClockConfig(CCLOCK, ENABLE);  //使能时钟
}
     static void EGPIO()   //使用ht32f5xxxx_gpio.c里的库函数配置IO功能
{
    AFIO_GPxConfig(GPIO_PA, AFIO_PIN_1,AFIO_MODE_DEFAULT);  //设置使用PA1,为默认的IO功能DEFAULT
    GPIO_DirectionConfig(HT_GPIOA, GPIO_PIN_1, GPIO_DIR_OUT);  //设置IO的方向为输出,OUT为输出、IN为输入
}

使用特权

评论回复
5
自动化陈稳|  楼主 | 2023-2-28 01:13 | 只看该作者
STEP5: 主函数
#include "ht32.h"              //这两个头文件一定要加入
#include "ht32_board.h"
    //……
     int main(void)
{
     void ECLOCK();
     void EGPIO();
   //……
      While(1)                     //死循环
  {
     GPIO_WriteOutBits(HT_GPIOA,GPIO_PIN_1,SET);//设置为PA1为高电平,也可以使用GPIO_SetOutBits(HT_GPIO_TypeDef*  HT_GPIOx, GPIO_PIN_nBITMAP)(x为A、B、C、D,nBITMAP为0~15)
     delay_ms(1000);                              //未定义
     GPIO_WriteOutBits(HT_GPIOA,GPIO_PIN_1,RESET);// 设置为PA1为低电平,也可以使GPIO_ClearOutBits(HT_GPIOA, GPIO_PIN_1)
     delay_ms(1000);
  }
}                                

使用特权

评论回复
6
自动化陈稳|  楼主 | 2023-2-28 01:13 | 只看该作者
单片机的数据手册、原理图及开发板手册也包含在上面的文件中,可以下载学习。

使用特权

评论回复
7
HAITANGHUA001| | 2024-4-22 23:14 | 只看该作者

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

72

主题

1182

帖子

1

粉丝