合泰32位单片机入门/以HT32F52352为例
合泰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为例相关推荐
- 嵌入式入门-32位单片机简介
一.单片机 参见单片机_百度百科 这是单片机的基本介绍,千篇一律搬运工的工作就不打算浪费时间了,就从目前学习到的知识面总结一下单片机吧,当然,入行不到两个月菜狗一枚,不正之处请指正. 单片机,也就是微 ...
- 什么是32位单片机?32位单片机有哪些优点和缺点?8位,16位,32位是什么区别?
一.什么是32位单片机 单片机有8位单片机.16位单片机.32位单片机等多种,这里位指的是数据处理一次能的够处理的数据的位宽,32位单片机,就是指一次能够处理的数据的位宽是32个比特位的单片机.简单地 ...
- 32位单片机 一个32位地址代表一个字节而不是4个字节(32位)
在数据手册上,BSRR的偏移地址为0X18,然后手册讲完BSRR后直接讲LCKR了,并且LCKR的偏移地址是 OX1C .所以根据 OX1C-0X18=0X04 就知道BSRR是32位寄存器了.因为一 ...
- 分享一款电机控制国产32位单片机MM32SPIN360C
国产32位单片机MM32SPIN360C拥有M0内核的高性能32位微控制器,5V输出的LDO稳压器.三组具备有自举二极管的N通道半桥栅极驱动器.MCU最高工作频率可达96MHz,并内置SRAM高速存储 ...
- Microchip PIC系列8位单片机入门教程(一)开发环境建立
Microchip PIC系列8位单片机入门教程(一)开发环境建立 作者:Greg 第一节 开发环境建立条件 软件: (1)MPLAB X:集成开发环境下载地址:https://www.microch ...
- Microchip PIC系列8位单片机入门教程(四)中断
Microchip PIC系列8位单片机入门教程(三) 第一节 知识点 (1)中断 PIC18F2420/2520/4420/4520 器件提供多个中断源及一个中断优先级功能,可以给大多数中断源分配高 ...
- 灵动微32位单片机LQFP64引脚MM32F3273G7P
灵动微MM32F3273G7P采用ARM®Cortex®-M3内核的高性能32位单片机,工作频率高达120兆赫兹,内置512KB Flash和128KB RAM的高速存储器,具有丰富的I/O端口和外设 ...
- 适用于温控器应用的灵动微32位单片机MM32L0130
温控器的工作原理是通过温度传感器对环境温度自动进行采样.即时监控,当环境温度高于控制设定值时控制电路启动,可以设置控制回差.如温度还在升,当升到设定的超限报警温度点时,启动超限报警功能.当被控制的温度 ...
- 国产32位单片机有哪些
国产32位单片机有哪些 国产32位单片机有哪些呢 1.兆易创新GD32系列 2.灵动微MM32系列 3.华大HC32系列 4.南京沁恒CH32系列 5.华芯微特SWM32系列 2021年单片机价格 国 ...
最新文章
- Java值类型与引用类型的不同
- ios 设计模式 MVC ,MVVM
- Emacs 24.3 配置JDEE(http://blog.csdn.net/csfreebird/article/details/19033939)
- geotrellis使用(三十)使用geotrellis读取PostGIS空间数据
- 6-11数据库mysql初始
- 如何访问 SAP Screen Personas 培训系统以及完成一个最简单的例子
- poj 3522 Slim Span
- QPW 用户签署协议日志表(tf_user_agreement_log)
- apache缺省banner_http服务器缺省banner
- 多路归并排序_字节跳动面试:5 亿整数的大文件,如何排序 ?
- 前端开发 认识css 体验变色的效果 0228
- 刚在网上搜资料,搜出一段话,觉得很有感触~
- 后台返回整个html转换成页面链接,利用html5的history.replaceState修改当前页面的URL...
- layui修改table中的按钮_如何发挥作用layui页面按钮给table移除一行(手动去除)...
- 用微软的压力测试工具进行拒绝服务攻击
- 学习总结-《父与子的编程之旅》chapter 9
- Mac卸载Anaconda
- Unity3D--学习太空射击游戏制作(二)
- 涨知识!中国天眼一秒钟要用多少度电?
- ch330N折腾记录