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

Hi!很高兴看到你。以前经常在CSDN上查找资料,经常能找到想要的,因此也希望在此分享自己的学习心得与收获。32位的单片机其实都差不多,很多内核都是ARM系列,只是不同公司用的外设有些不一样,包括一些端口、库函数。之前有接触过STM32,但是不够深入,本文以HT32F52352为例,说明如果开始一个工程的简单配置。希望能帮助到一些初学者,如有错误请提出指正。(HT32F52352例程下载https://download.csdn.net/download/a_13290783356/11490501)

步骤

STEP1: 新建工程 (建议直接使用例程修改)

STEP2: 头文件

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

STEP3: 子函数(可以用来配置端口功能)

#include xxxx.h  //已经写好的头文件void abcd(形参1,形参2,…)
{  }           

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功能DEFAULTGPIO_DirectionConfig(HT_GPIOA, GPIO_PIN_1, GPIO_DIR_OUT);  //设置IO的方向为输出,OUT为输出、IN为输入}

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); }
}                                

单片机的数据手册、原理图及开发板手册也包含在上面的文件中,可以下载学习。
今后将不定期分享自己的学习收获。

合泰32位单片机入门/以HT32F52352为例相关推荐

  1. 嵌入式入门-32位单片机简介

    一.单片机 参见单片机_百度百科 这是单片机的基本介绍,千篇一律搬运工的工作就不打算浪费时间了,就从目前学习到的知识面总结一下单片机吧,当然,入行不到两个月菜狗一枚,不正之处请指正. 单片机,也就是微 ...

  2. 什么是32位单片机?32位单片机有哪些优点和缺点?8位,16位,32位是什么区别?

    一.什么是32位单片机 单片机有8位单片机.16位单片机.32位单片机等多种,这里位指的是数据处理一次能的够处理的数据的位宽,32位单片机,就是指一次能够处理的数据的位宽是32个比特位的单片机.简单地 ...

  3. 32位单片机 一个32位地址代表一个字节而不是4个字节(32位)

    在数据手册上,BSRR的偏移地址为0X18,然后手册讲完BSRR后直接讲LCKR了,并且LCKR的偏移地址是 OX1C .所以根据 OX1C-0X18=0X04 就知道BSRR是32位寄存器了.因为一 ...

  4. 分享一款电机控制国产32位单片机MM32SPIN360C

    国产32位单片机MM32SPIN360C拥有M0内核的高性能32位微控制器,5V输出的LDO稳压器.三组具备有自举二极管的N通道半桥栅极驱动器.MCU最高工作频率可达96MHz,并内置SRAM高速存储 ...

  5. Microchip PIC系列8位单片机入门教程(一)开发环境建立

    Microchip PIC系列8位单片机入门教程(一)开发环境建立 作者:Greg 第一节 开发环境建立条件 软件: (1)MPLAB X:集成开发环境下载地址:https://www.microch ...

  6. Microchip PIC系列8位单片机入门教程(四)中断

    Microchip PIC系列8位单片机入门教程(三) 第一节 知识点 (1)中断 PIC18F2420/2520/4420/4520 器件提供多个中断源及一个中断优先级功能,可以给大多数中断源分配高 ...

  7. 灵动微32位单片机LQFP64引脚MM32F3273G7P

    灵动微MM32F3273G7P采用ARM®Cortex®-M3内核的高性能32位单片机,工作频率高达120兆赫兹,内置512KB Flash和128KB RAM的高速存储器,具有丰富的I/O端口和外设 ...

  8. 适用于温控器应用的灵动微32位单片机MM32L0130

    温控器的工作原理是通过温度传感器对环境温度自动进行采样.即时监控,当环境温度高于控制设定值时控制电路启动,可以设置控制回差.如温度还在升,当升到设定的超限报警温度点时,启动超限报警功能.当被控制的温度 ...

  9. 国产32位单片机有哪些

    国产32位单片机有哪些 国产32位单片机有哪些呢 1.兆易创新GD32系列 2.灵动微MM32系列 3.华大HC32系列 4.南京沁恒CH32系列 5.华芯微特SWM32系列 2021年单片机价格 国 ...

最新文章

  1. Java值类型与引用类型的不同
  2. ios 设计模式 MVC ,MVVM
  3. Emacs 24.3 配置JDEE(http://blog.csdn.net/csfreebird/article/details/19033939)
  4. geotrellis使用(三十)使用geotrellis读取PostGIS空间数据
  5. 6-11数据库mysql初始
  6. 如何访问 SAP Screen Personas 培训系统以及完成一个最简单的例子
  7. poj 3522 Slim Span
  8. QPW 用户签署协议日志表(tf_user_agreement_log)
  9. apache缺省banner_http服务器缺省banner
  10. 多路归并排序_字节跳动面试:5 亿整数的大文件,如何排序 ?
  11. 前端开发 认识css 体验变色的效果 0228
  12. 刚在网上搜资料,搜出一段话,觉得很有感触~
  13. 后台返回整个html转换成页面链接,利用html5的history.replaceState修改当前页面的URL...
  14. layui修改table中的按钮_如何发挥作用layui页面按钮给table移除一行(手动去除)...
  15. 用微软的压力测试工具进行拒绝服务攻击
  16. 学习总结-《父与子的编程之旅》chapter 9
  17. Mac卸载Anaconda
  18. Unity3D--学习太空射击游戏制作(二)
  19. 涨知识!中国天眼一秒钟要用多少度电?
  20. ch330N折腾记录

热门文章

  1. 视频虚拟主播怎们搞?体验报告全记录;一图掌握SD应用精髓;Chat效率工具大汇总;品牌营销进入AI时代 | ShowMeAI日报
  2. Verilog语言之模块层级:模块的实例化
  3. HMI-37-【节能模式】中心仪表实现
  4. 排列组合 n个球放入m个盒子问题 总结
  5. 用ZB生成高度图(Height Map)教程
  6. QQ好友列表获取导出类:爬虫爬取QQ号
  7. 为什么计算机二级打不开,电脑二级网页打不开是什么回事
  8. 【转】我的助理辞职了!—— 写给频繁跳槽的你
  9. 一步一个脚印,其实真的不慌
  10. 2.1 数据库之序列,索引和同义词