历史上的今天
返回首页

历史上的今天

今天是:2025年02月22日(星期六)

2021年02月22日 | STM8s 定时器2使用

2021-02-22 来源:eefocus

简介:最近开始使用stm8s103k单片机,今天记录一下它的定时器2的使用。首先需要说明一下,stm8s的中午手册里面写着TIM2 16位向上计数,这个是错误的。


stm8s定时易于使用,首先设定定时器的时钟频率,知道了定时器的时钟周期T,那么定时时间Tn就确定了,即 Tn = T * ARR(自动装载数据)。


程序如下:


1、单片机时钟设定:


//fmaster=fcpu=2MHz


CLK_ECKR=0x00;


CLK_ICKR=0x01;


CLK_CMSR=0xe1;


CLK_SWR=0xe1;


CLK_CKDIVR=0x18;


2、定时器TIM2初始化


//定时器2初始化fmaster/分频=2M/2=1M,1us计数一次,50us 中断一次


void TIM2_Init(void)


{


_asm("sim"); //sim是禁止中断


TIM2_IER = 0x00; //禁止中断


TIM2_EGR =0x01; //允许产生更新标志


TIM2_PSCR =0x01; //设置时钟分频 2M/2=1MHz---1us


TIM2_ARRH = 0x00; //0x32=50; 周期=50次,每50us复位一次定时器2


TIM2_ARRL = 0x32; //ARR自动装载值,每1us递减1


TIM2_CNTRH=0x00; //初值


TIM2_CNTRL=0x00;


TIM2_CR1 |= 0x81; //开启定时器


TIM2_IER |= 0x01; //允许中断


_asm("rim"); //rim使能中断


}


3、中断执行程序


@far @interrupt void TIM2_UPD_IRQHandler(void)


{


TIM2_SR1 &=~(0x01);//=0x0e;//清楚中断标志位


PC_ODR=~PC_ODR;//需要先配置pc,pb为输出口


PB_ODR=~PB_ODR;


}


4、修改中断向量表


打开stm8_interrupt_vector.c文件,添加如下内容:


extern @far @interrupt void TIM2_UPD_IRQHandler(void);


修改下面一行:


{0x82, NonHandledInterrupt},


为:


{0x82,(interrupt_handler_t)TIM2_UPD_IRQHandler},


到此OK了,可以试试。


在我操作过程中,遇到一个很头疼的问题,就是下载器常常不好用,错误号30006,30003.


这两种情况下,首先确认你的stlink接线是否正确,其次量一下4根下载针电压,正确为:5V,Gnd,NRST-5V,SWIM-0v,(大致如此)。如果没有上面的问题,就可能是下载器和电脑没有连接好。需要重新软件连接和确认(Target-setting)。


推荐阅读

史海拾趣

常州能动(ENDRIVE)公司的发展小趣事

随着环保意识的日益增强,常州能动积极响应国家政策,加大环保投入。公司引进了先进的环保设备和技术,对生产过程中的废弃物进行无害化处理。同时,公司还注重节能减排和资源循环利用,推动公司向绿色、低碳、可持续发展的方向迈进。这些努力不仅提升了公司的社会形象,也为公司的长远发展打下了坚实基础。

ASC Capacitors公司的发展小趣事

ASC Capacitors始终坚持品质至上的原则。公司从原材料采购到生产工艺,再到产品出厂,每一个环节都严格把控,确保产品质量无可挑剔。此外,ASC Capacitors还建立了完善的质量检测体系,对每一批产品进行严格测试,确保产品性能达到最佳状态。正是这种对品质的执着追求,使得ASC Capacitors赢得了客户的广泛赞誉和信任。

ENPIRION公司的发展小趣事

在电源管理领域,ENPIRION公司不断面临各种技术挑战。例如,如何满足企业级、工业级、通信等市场对产品的高可靠性要求?如何提供最优的电源转换率以降低成本和散热?为了应对这些挑战,ENPIRION公司不断投入研发力量,推出了一系列创新的电源管理解决方案。这些解决方案不仅满足了市场的需求,还进一步巩固了ENPIRION公司在电源管理领域的领先地位。

Fronter Electronics Co Ltd公司的发展小趣事

为了寻求更广阔的发展空间,Fronter电子开始积极拓展国内外市场。公司通过参加各类行业展会、建立广泛的销售网络以及开展国际合作等方式,不断开拓新客户和市场领域。同时,Fronter电子还逐步向多元化经营转型,不仅限于电子元器件的销售,还涉足到了电子产品的设计、制造和服务等多个环节。这种多元化经营的策略使得Fronter电子能够更好地满足市场需求,提升整体竞争力。

GAPTEC Electronic GmbH & Co. KG公司的发展小趣事

背景:2000年代初,随着全球对数字设备需求的激增,Galaxy Microelectronics在硅谷成立。公司创始人是一群来自斯坦福大学的工程师,他们看到了闪存技术在便携式设备中的巨大潜力。

发展:Galaxy Microelectronics的初创团队专注于研发高性能、低功耗的NAND闪存芯片。他们成功开发出了一种创新的电荷撷取闪存(CTF)技术,这项技术有效解决了当时浮栅架构的串扰问题,使得闪存芯片的耐用性和速度大幅提升。这一创新迅速吸引了市场关注,公司开始获得风险投资的支持。

Herrmann Kg公司的发展小趣事

随着全球市场的不断扩展,Herrmann Kg积极实施全球化发展战略。公司在德国和匈牙利设有生产厂房,并在欧洲、美洲和亚洲等多个国家设有分支机构。通过全球化布局,Herrmann Kg能够更好地服务全球客户,同时利用各地的资源和优势进行技术创新和市场拓展。这种全球化战略不仅提升了公司的市场影响力,还为其未来的持续发展奠定了坚实的基础。

请注意,以上故事是基于Herrmann Kg在超声波焊接技术领域的整体发展情况进行构想的,并非直接来源于特定事件的报道或官方声明。因此,在描述过程中可能存在一定的想象和推测成分。然而,这些故事旨在展示Herrmann Kg在电子行业及相关领域中的发展成就和趋势。

问答坊 | AI 解惑

PCI9052板卡的开发中文资料

PCI9052板卡的开发中文资料…

查看全部问答>

WINCE下电话与IE共存问题!

嘿 各位:    现在我想在WINCE6.0下面做一个电话与IE共存的软件,想要做到当如果在下载数据或是浏览网页的时候有电话打进来需要挂住数据通道,电话接完后可以很快的浏览网页或是下载数据,以前我采用的方式是RAS函数库+AT指令方式,当想 ...…

查看全部问答>

关于CE下线程执行优先级的问题

{ ...... // 启动线程,开始播放声音, 并将线程的优先权设置为最高,希望它立即去执行 HANDLE m_hThread = CreateThread(NULL, 0, TOPlaySoundThread, NULL, 0, NULL); SetThreadPriority( m_hThread,THREAD_PRIORITY_TIME_CRITICAL); Sleep( ...…

查看全部问答>

请教高手printf和vprintf的问题

环境Vxworks 5.5.1 在相同的地方,如果使用printf可以正确打印,但是使用vprintf就会报如下错误:     CPU: Motorola MPC82xx ADS - HIP7    Runtime Name: VxWorks Runtime Version: 5.5.1     BSP version: 1 ...…

查看全部问答>

用在嵌入式中得移动数据库都有哪些?(linux下)

刚刚接触,不是很了解,推荐一下哪些比较好用?谢谢…

查看全部问答>

请问:wince5.0中可以做webservices吗?ce作为客户端,访问pc的服务端?

如题,我没有分数了,好心人知道的,给我个回复把…

查看全部问答>

LPC1114数据寄存器

最近又看了一下LPC1114的数据寄存器的内容。数据寄存器允许从被设置为输入的引脚上读取数据,往被设置输出的引脚写值。每个端口数据寄存器占用地址空间的0-0X3FFC,地址位13:2用于屏蔽。如图1:  原先一直对这个数据屏蔽作用搞不太懂,现在 ...…

查看全部问答>

卖点多余下来的零散东西

大家好,最近整理了一下,整理出好多打样有没有使用,多余的东西。有继电器、各种芯片、可燃气体传感器等等好多种类,但是每种数量都很少,这里就不一一列举了。如果你需要,可以QQ我,告诉我你要的一些常用的东西,我尽量帮你找,一次性处理,想收 ...…

查看全部问答>

版主jishuaihu, 小小白, 江汉大学南瓜帮忙看看

https://bbs.eeworld.com.cn/thread-308442-1-1.html 此贴貌似冒的人看啊!给新人一点帮助嘛!…

查看全部问答>

高速PCB布线实践指南

高速PCB布线有很多方面的问题,关于这个题目已有人撰写了大量的文献。本文主要从实践的角度来探讨高速电路的布线问题。主要目的在于帮助新用户当设计高速电路PCB布线时对需要考虑的多种不同问题引起注意。 …

查看全部问答>