[其它] 合泰单片机入门——IO口操作

[复制链接]
712|12
 楼主| 4c1l 发表于 2022-12-30 18:09 | 显示全部楼层 |阅读模式
国产单片机的生态本身就比较差,不像STM32被广泛使用和学习,虽然单片机的原理相同,但是国产的合泰单片机是用自己的编译器和语言,第一次接触难免摸不着北,我也是第一次接触合泰单片机,想以写文章的形式来记录自己的学习过程,也希望国产单片机能被广泛学习和使用。

评论

———————————————— 版权声明:本文为CSDN博主「CV**练习生」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/weixin_44791709/article/details/125117822  发表于 2022-12-30 18:16
 楼主| 4c1l 发表于 2022-12-30 18:15 | 显示全部楼层
HT-IDE3000创建工程
首先是打开HT-IDE3000,这个是合泰自己的编译器,可以到合泰官网进行下载“https://www.holtek.com.cn/ice”,如果没有连接烧录器和仿真芯片,打开后会弹出提示,可以先忽略,点击取消即可。
在上方点击工程,选择新建工程,这里我用的是HT66F0185的仿真芯片,选择好后下面默认next就好。
 楼主| 4c1l 发表于 2022-12-30 23:54 | 显示全部楼层
 楼主| 4c1l 发表于 2022-12-30 23:55 | 显示全部楼层
到了一些系统配置,如下图,这里是选择系统电压,系统频率等等,一般不需要修改就选择OK就行了。
 楼主| 4c1l 发表于 2022-12-30 23:56 | 显示全部楼层
 楼主| 4c1l 发表于 2022-12-30 23:57 | 显示全部楼层
根据芯片数据手册初始化IO口
1.数据手册介绍
第一次使用合泰单片机会挺不习惯的,它的IO口初始化需要自己去操作寄存器,在合泰官网搜索仿真芯片对应的型号,比如我的是HT66F0185,打开手册后找到引脚说明,我这里要使用PA4口,我要将它配置为输出口,这里要注意“ / ”的最后是这个IO口的默认功能,这个PA4口默认是用作AN3表示的是AD转换的通道3,AD转换功能由ACERL寄存器控制,表中也有说明。
 楼主| 4c1l 发表于 2022-12-30 23:58 | 显示全部楼层
 楼主| 4c1l 发表于 2022-12-30 23:59 | 显示全部楼层
在数据手册中查询ACERL寄存器,POR表示上电默认状态,可以看到ACE3的说明,定义默认PA4口为A/D输入。那要将PA4改为输出就得将这个功能关闭。
 楼主| 4c1l 发表于 2022-12-31 13:16 | 显示全部楼层
 楼主| 4c1l 发表于 2022-12-31 13:16 | 显示全部楼层
.初始化IO口
在初始化时将PA4口的ACERL寄存器置为0就可以将AD采集功能关闭,在写程序时编译器会有提示功能,acerl=0x00是将AD采集功能的引脚全部关闭,也可以使用_ace4=0;只操作PA4口,然后操作pac寄存器,将pa4设置为输出引脚,通过papu寄存器设置PA4是否上拉。写到这里就可以使PA4输出高电平了。
 楼主| 4c1l 发表于 2022-12-31 13:18 | 显示全部楼层
代码如下(示例):
  1. void main()
  2. {
  3.         _acerl=0x00;//先关闭AD采样的功能,_ace4=0;
  4.         _pac=0x00;        //PA口全部输出
  5.         _papu4=1;        //PA4上拉
  6.         _pa4=1;//PA4输出高电平
  7.         while(1)
  8.         {
  9.                 GCC_CLRWDT();//看门狗喂狗
  10.                        
  11.         }

  12. }
 楼主| 4c1l 发表于 2022-12-31 13:19 | 显示全部楼层
总结
学习单片机第一课都是从点灯开始,你把灯点亮了吗?
通过基本学习也能看出合泰单片机与STM32的区别还是很大的,STM32提供了库函数给我们使用,合泰是提供了寄存器让我们操作本质是一样的但还是需要简单学习一下怎么操作。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

65

主题

703

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部