导航:首页 > 编程语言 > 合泰单片机编程

合泰单片机编程

发布时间:2023-04-10 12:40:31

‘壹’ 合泰单片机中断问题

一般RISC单片机都采用专用的硬件堆栈,跟51单片机的堆栈结构完全不同(51是使用现有RAM来做堆栈),所以使用RISC单片机时要注意嵌套调用深度。

楼主所提芯片:HT48系列Cost-Effective I/O 型单片机只有两层硬件堆栈,你做三层嵌套,当然会出现堆栈溢出了。

解决办法:杜绝>=3层的嵌套(特别注意在中断中调用)

当然如果你的时间实在是充裕的很,而且硬件余量够足,编码水平也过硬,可以根据堆栈的数据结构试试实现一个软堆栈
--------------------------------------------------------------------
尽管你的说法有问题,但是看在分的面子上,我还是说一下吧:
既然用到IIC,堆栈消耗肯定很大,2层堆栈的单片机就别指望了,你需要使用堆栈多些的单片机:HT48R02N(6层),HT48R54A(6层),HT48R50A-1(6层),HT48R502(16层),还有很多,具体看Selection Guide
--------------------------------------------------------------------
HT48R08A-1是2层硬件堆栈,如果你嵌套了5-6层,一定会出问题,分析了下,有三种可能:

1.你不是用的HT48R08A-1
2.你的IIC软件包实际运行时,没有超出2层调用(尽管最高调用是5-6层,超级隐患!)
3.你判断的5-6层嵌套,实际只有2层(只有子程序调用和中断响应才会产生所谓“嵌套”是不是把For循环之类的也算进“嵌套”了呢)

Good luck!

‘贰’ 合泰背单片机在程序中如何实现按键,短按加一,长按快加拜教高手,谢谢先!

合泰背?没听过,不过没所谓,算法都一样,按键少的时候可以直接挂在IO口上,另一端接地,程序中检测IO状态,若有0则说明有按键按下,此时变量加1,然后进入松手检测,在其中设置时间标志,若经过几秒钟还是按下状态,则变量一直加,祝成功~~

‘叁’ 有没有大神用过合泰的单片机 HT68F002 这款想芯片啊 求个用中断的程序,自己怎么弄都不行 帮忙看一下吧

定时器中断函数里没清除标志位。增加_stm0f=0
缺少_rstc=0b01010101

‘肆’ 合泰单片机我编写了个采ad值的程序,ad值是采出来了,可是ad值范围整体偏移,AD12位精度

12位的寄存器,怎么可能大于4095! 假如你用的是双字节的变量Value来存储结果,那么读寄存器取值出来后需要屏蔽掉13位之后的数据,即: Value= Value & 0xFFF 。至少不会出现4300的情况。

‘伍’ HOLTEK单片机HT32F1765、HT66F50、HT66FU50这几个芯片能用C语言进行编程

现在单片机基本上都支持吵告锋C语言编程,盛群的单升晌片机也没问题的具友陆体使用信息可参考官网。http://www.holtek.com.cn/china/default.htm

‘陆’ hope3000一般用于烧录什么mcu

合泰单片机编程仿真软件加烧录软件,下载附件安装就可以了。

‘柒’ ht48r063b,属于单片机么,是哪类的,可以烧录程序么用哪种东东。

增强 I/O 型系列单片机是一款 8 位具有高性能精简指令集的单片机,应用相当广泛。秉承 HOLTEK 单片机具有的低功耗、I/O 灵活、定时器功能、振荡类型可选、休眠和唤醒功能、看门狗和低电压复位等丰富的功能选项,增强 I/O 型单片机具有极高的性价比,其内部集成了系统振荡器 HIRC,提供三种频率选择,不需要增加外部元器件。可以广泛适用于各种应用,例如工业控制,消费类产品,家用电器子系统控制等。CPU特性:工作电压:fSYS=4MHz: 2.2V~5.5VfSYS=8MHz: 3.0V~5.5V fSYS=12MHz: 4.5V~5.5V
振荡模式: 外部高频晶振 – HXT 外部 RC – ERC 内部 RC – HIRC 外部低频晶振 – LXT
在VDD=5V ,系统频率为12MHz时,指令周期为0.33µs
3种工作模式:正常,低速,休眠
内部集成 4MHz,8MHz 和 12MHz 振荡器,无需外接元件
看门狗定时器功能
LIRC 振荡用于看门狗时钟
所有指令都可在 1 或 2 个指令周期内完成
查表指令
63 条功能强大的指令系统
多达 4 层堆栈
位操作指令
低电压复位功能
提供多种封装类型
周边特性
多达 26 个双向 I/O 口
4 个软件控制 SCOM 口 1/2 bias LCD 驱动
一个与 I/O 口复用的外部中断输入
多达 2 个 8 位可编程定时/计数器,具有溢出中断和预分频功能
时基功能
PFD 功能

‘捌’ hs2怎么初始化

HS26Fxx-C_Demo_Code-GPIO初始化函数

功能:GPIO初始化函数

void GPIO_Init(void)

函数声明

//.h文件声明***************************************************************************
void GPIO_Init(void); //IO初始化
1
2
1
2
函数定义

//.c文件函数定义****************************************************
/*System initial sub function<<===================================*/
//******************************************************************
void GPIO_Init(void)
{
//P0_IO_init
P0 =0x00u; //-000 0000 ;
P0M =0xFFu; //-111 1111 ;InOut ;0=in / 1=out
P0UR=0x00u; //-000 0000 ;UP_pull ;0=dis / 1=en
P0PD=0x00u; //-000 0000 ;DOWN_pull ;0=dis / 1=en
P0W =0x00u; //0000 0000 ;Wakeup ;0=dis / 1=en

//P1_IO_init
P1 =0x00u; //---- -000 ;
P1M =0xFFu; //---- -111 ;InOut ;0=in / 1=out
P1UR=0x00u; //---- -000 ;UP_pull ;0=dis / 1=en
P1PD=0x00u; //---- -000 ;DOWN_pull ;0=dis / 1=en
P1W =0x00u; //0000 0000 ;Wakeup ;0=dis / 1=en

//P2_IO_init
P4 =0x00u; //0000 0000
P4M =0xFFu; //1111 1111 ;InOut ;0=in / 1=out
P4UR=0x00u; //0000 0100 ;UP_pull ;0=dis / 1=en
P4PD=0x00u; //0000 0000 ;DOWN_pull ;0=dis / 1=en
P4W =0x00u; //0000 0000 ;wakeup ;0=dis / 1=en

//******************************************************
FGIE=0; /* 总中断使能位 <<======================*/
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
函数调用

GPIO_Init(); //端口初始化
1
1
打开CSDN,阅读体验更佳

s3c2440硬件学习笔记----GPIO接口
一、GPIO介绍 GPIO(General Purpose Input Output)意为通用输入输出端口,简单说就是一些引脚,通过它们输出高低电平或者通过它们读取引脚高低电平状态 S3C2440有130个I/O端口,分为A-J共9组:GPA、GPB、、、、GPJ,可以通过设置寄存器来确定某个引脚用于输入、输出还是特殊功能。 比如:可以设置GPH6作为输入、输出、或者用于串口。 1、通过寄...
继续访问
MTK Android7.0 gpio口控制demo
MTK6737平台,暴露底层给上层的设备节点控制接口。简单的gpio口控制demo。
ioremap_gpio_demo.c
ioremap demo对应博客介绍 https://xuesong.blog.csdn.net/article/details/114156170
用C控制GPIO
http://forum.cubietech.com/forum.php?mod=viewthread&tid=405&reltid=876&pre_thread_id=0&pre_pos=6&ext=CB 用C控制GPIO的代码[可以直接看CPU占用率了] http://forum.cubietech.com/forum.php?mod=viewthread&tid=405 #in
继续访问
HS26Fxx-C_Demo_Code-延时函数
HS26Fxx-Dome_Code void Delay_Us(unsigned char Delay_Cnt) //{xx.h}文件中声明延时函数************************************************ void Delay_Us(unsigned char Delay_Cnt); //延时函数 //{.c}定义延时函数*********************************************************************** /
继续访问
HS26Fxx-C_Demo_Code-ADC相关函数的定义与使用
HS26Fxx-C_Demo_Code-ADC相关函数的定义与使用 功能:测试AD采样功能 void ADC_Init(void) unsigned long ADC_Data_Collect(unsigned char ADC_Input_Pin,unsigned char ADC_AIN) 1.AD相关函数声明 //.h文件声明*************************************************************************** void ADC_Init
继续访问
HS26Fxx-C_Demo_Code-中断函数、中断子函数的定义与使用
HS26Fxx-C_Demo_Code-中断函数、中断子函数的定义与使用 功能:定时器TC0中断程序参考 void __interrupt[0x08] Interrupt(void)//无需声明 void __interrupt Interrupt_Demo(void) 中断子函数 函数声明 //中断子函数函数声明*********************************************************************** void __interrupt Interrupt
继续访问
HS26Fxx-C_Demo_Code-测试函数RF格式,UART格式的定义与使用
HS26Fxx-C_Demo_Code-测试函数RF格式,UART格式的定义与使用 功能:利用示波器或者UART串口工具测试 void Send_Dat_For_Test(unsigned char Test_Dat) 1.测试函数函数声明 //.h文件声明*************************************************************************** void Send_Dat_For_Test(unsigned char Test_Dat);
继续访问
HT66FXX.zip_HT-IDE3000_HT66Fxx_ht_ht-46_ht66f
HT单片机HT66F系列最基本的实用教程中文资料完全版
最新发布 C8051FXX-boot-loader-.zip_boot loader
主要描述了C8051F0XX系列单片机的引导装入程序考虑及举例
stc8_demo程序.rar_DEMO_STC8 PCA_stc8_stc8 pwm_stc8a8
stc8,DEMO程序: uart stc8aid delay IO timer adc pwm pca
cape-fxx.rar_1c60deac5d48_dcfxx_fxxee_out_tof_cape beagle
FXX_DRV_VER 0.1 AM335 interface functions: int ioctrl_init(void) int ioctrl_cleanup(void) uint32_t *ioctrl_remap(uint32_t *addr_ptr, size_t block_len) int ioctrl_unmap(uint32_t *addr_ptr, size_...
fxx.zip_c 语言微分_telephonew1j_产品代码fxx
常微分代码,主要是C语言方面的,大家可以下载看看的
HT66FXX-EEPROM.rar_单片机开发_Asm_
HT66FXX-EEPROM的读写及应用说明文档
FXX_PR3_NV.rar
FXX_PR3_NV.rar,FXX_PR3_NV.xml
合泰单片机例程资料,HT66FXX FLASH例程,源码学习.rar_DEMO_ht66f50 _newsz3i_合泰 学习_合
合泰单片机HT66F50例程工程源程序,合泰各种例程demo都在里面
HC89F3xx1_Touch_Demo_Code V1.0.5.0_fourt1r_HC89F3XXX_芯圣_DEMO_芯圣程
芯圣HC89FXX系列触摸程序,调好的。官方下载。
STM32F103ZET6 - USB_DFU 升级
STM32F103ZET6 - USB_DFU 升级 前言: 记录下碰到的坑!! 仿真时发现读按键状态函数HAL_GPIO_ReadPin(KEY0_GPIO_Port,KEY0_Pin),无论是判断等于1还是0,仿真都能进入; 纠结很久,然后查看GPIOx_IDR寄存器, 发现没问题,按键按下时该位为0,不按为1; 经查找发现是IDE优化等级问题,STM32CubeMX生成的代码默认优化等级为...
继续访问
单片机
编程语言
写评论

评论

收藏

点赞

‘玖’ 敬爱的合泰单片机高手!!!!!!!

1.怎样用软件设置:CMOSE输出,带或不带上拉电阻的斯密特触发输入,A/D输入????
输出就是输出,什么"CMOS输出"是Holtek官方术语,"斯密特触发输入"也是官方术语,带不带上拉电阻是在IDE掩膜选项中设置的
引脚是AD输入还是数字IO靠ADCR中的控制位来定义
2.怎样理解ADCR中的前六位设置???当设置好模义输入通道,为什么还要定义PB呢????
这是HT46R52的ADCR 参考(估计HT46R22是一样的):
0 ACS0 选择模拟输入通道
1 ACS1 选择模拟输入通道
2 ACS2 选择模拟输入通道
3 PCR0 为0 则关闭,减小功耗
4 PCR1 为0 则关闭,减小功耗
5 PCR2 为0 则关闭,减小功耗
6 EOC A/D 转换结束标志(0:A/D 转换结束)
每次bit3-5 状态的改变后都必须通过START 信号来初始化A/D 转换器,
否则EOC可能会处于不确定状态
7 START 0→1→0:开始; 0→1:A/D 转换复位并且置EOC为“1”

“当设置好模义输入通道,为什么还要定义PB呢????”
前面0-2只是个通道选择(多选1模拟开关),并不能决定PB口是模拟口还是数字IO
就像有一块内存空间,你选中了一个字节来用,但里面的内容到底什么不知道,设置一下就知道了。

3.端口问题:
1.控制寄存器:设定IO口是输入还是输出,数据寄存器(端口寄存器)读取/设置端口电平
2.设_pac=0b00000000;意思是pa口全部输出;设_pa= 0b00000000;则pa全部输出0
3.初始化端口的步骤示例:_pac=0x00; _pa=0x00;

4.其他问题:
#pragma vector isr_time @ 0x08 //中断服务程序定义
#pragma vector isr_ad @ 0x0c //中断服务程序定义
uchar sign0 @ 0x40; //在绝对地址定义变量
uchar sign1 @ 0x41; //在绝对地址定义变量

‘拾’ 合泰单片机HT67F系列的使用问题

1,寄存器名与手册对不上号是很正常的,不光合泰的单片机有这种情况,其它的单片机也有这种情况,出现这种情况程序编译是通不过的。所以有时候要关心一下头文件,以头文件的器存器命名为准,或自己更改头文件。
2,关于管脚复用问题。一般情况下不对管脚进行配置默认都是普通IO,但是如果要使用管脚的其它功能,在使用前就要先对相关寄存器进行配置,比如要使用AN1就要先配置好AD转换相关的寄存器,如:ADR、ADRL、ADRH、ADCR、ACSR寄存器。

阅读全文

与合泰单片机编程相关的资料

热点内容
iospdf教程下载 浏览:328
加密货币换手率300表示什么 浏览:725
手机wps新建文件夹存照片 浏览:395
单片机rgbled 浏览:959
怎么通过文件加密后发给微信好友 浏览:90
用虚拟机编程 浏览:821
公司代理服务器有什么要求 浏览:244
服务器和数据库怎么联系 浏览:633
hbase配置压缩 浏览:918
java000 浏览:477
华为手机文件夹的字体颜色 浏览:636
安卓怎么换相机 浏览:933
华为相片文件夹怎么删除重复照片 浏览:316
plc编程视频教程大全 浏览:938
直播用哪个app播放背景音乐 浏览:852
点歌机系统app在哪里下载 浏览:609
javadate类型转换string 浏览:694
RPG游戏解压后乱码 浏览:988
无线通信的几个密钥算法 浏览:647
王者荣耀app数据修复在哪里 浏览:429