历史上的今天
返回首页

历史上的今天

今天是:2024年09月05日(星期四)

正在发生

2018年09月05日 | stm8中断的学习

2018-09-05 来源:eefocus

//PA4口中断初始化
void Driver_ExtIntOn(void)

//PA4 上拉输入
PA_DDR &= CLRBIT4;
PA_CR1 |= SETBIT4;
//下降沿触发
EXTI_CR1 |= SETBIT1;
EXTI_CR1 &= CLRBIT0;
//开启端口中断
PA_CR2 |= SETBIT4;

}

volatile bool ExiFlag = False;
//中断服务程序
@far @interrupt void Driver_EXI_Interrupt(void)
{
//--- 外部中断处理 ----
//置中断标志
ExiFlag = True;
}




struct interrupt_vector const _vectab[] = {
{0x82, (interrupt_handler_t)_stext}, /* reset */
{0x82, NonHandledInterrupt}, /* trap  */
{0x82, NonHandledInterrupt}, /* irq0  */
{0x82, NonHandledInterrupt}, /* irq1  */
{0x82, NonHandledInterrupt}, /* irq2  */
{0x82, Driver_EXI_Interrupt}, /* irq3  */
{0x82, NonHandledInterrupt}, /* irq4  */
{0x82, NonHandledInterrupt}, /* irq5  */
{0x82, NonHandledInterrupt}, /* irq6  */
{0x82, NonHandledInterrupt}, /* irq7  */
{0x82, NonHandledInterrupt}, /* irq8  */
{0x82, NonHandledInterrupt}, /* irq9  */
{0x82, NonHandledInterrupt}, /* irq10 */
{0x82, NonHandledInterrupt}, /* irq11 */
{0x82, NonHandledInterrupt}, /* irq12 */
{0x82, NonHandledInterrupt}, /* irq13 */
{0x82, NonHandledInterrupt}, /* irq14 */
{0x82, NonHandledInterrupt}, /* irq15 */
{0x82, NonHandledInterrupt}, /* irq16 */
{0x82, NonHandledInterrupt}, /* irq17 */
{0x82, NonHandledInterrupt}, /* irq18 */
{0x82, NonHandledInterrupt}, /* irq19 */
{0x82, NonHandledInterrupt}, /* irq20 */
{0x82, NonHandledInterrupt}, /* irq21 */
{0x82, NonHandledInterrupt}, /* irq22 */
{0x82, NonHandledInterrupt}, /* irq23 */
{0x82, NonHandledInterrupt}, /* irq24 */
{0x82, NonHandledInterrupt}, /* irq25 */
{0x82, NonHandledInterrupt}, /* irq26 */
{0x82, NonHandledInterrupt}, /* irq27 */
{0x82, NonHandledInterrupt}, /* irq28 */
{0x82, NonHandledInterrupt}, /* irq29 */
};

代码的添加和终端的映射是一一对应的。

//LED控制 输入1 点亮; 0 熄灭;
void Driver_LEDCont(bool flag)
{
static bool startflag = 1;
if(startflag)
{
PD_DDR |= SETBIT1;
PA_DDR |= SETBIT1;
PA_DDR |= SETBIT2;
PD_DDR |= SETBIT5;
PD_DDR |= SETBIT3;
PD_CR1 |= SETBIT1;
PA_CR1 |= SETBIT1;
PA_CR1 |= SETBIT2;
PD_CR1 |= SETBIT5;
PD_CR1 |= SETBIT3;
startflag = 0;
}
if(flag)
{
PD_ODR &= CLRBIT1;
PA_ODR &= CLRBIT1;
PA_ODR &= CLRBIT2;
PD_ODR &= CLRBIT5;
PD_ODR &= CLRBIT3;
}
else
{
PD_ODR |= SETBIT1;
PA_ODR |= SETBIT1;
PA_ODR |= SETBIT2;
PD_ODR |= SETBIT5;
PD_ODR |= SETBIT3;
}
}

main()
{
//程序启动STM8默认以HSI分频2M执行速率进行
Driver_LEDCont(1);
//开启外部中断
Driver_ExtIntOn();
//开总中断
_asm("rim");
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
//在stm8_interrupt_vector.c文件中 写入中断接入函数Driver_EXI_Interrupt
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
//等待中断
while(1)
{
static u16 Timer = 0; 
if(ExiFlag)
{
Timer = 0xfff;
ExiFlag = False;
}
if(!(PA_IDR&CHSBIT4))
Timer = 0xfff;
if(Timer)
{
if(!--Timer)
{
static bool flag = 0;
//循环控制LED灯状态
flag = !flag;
Driver_LEDCont(flag);
}
}
}
}


推荐阅读

史海拾趣

广芯电子(BROADCHIP)公司的发展小趣事

撰写五个关于广芯电子(BROADCHIP)公司在电子行业发展的故事可能内容过多,我可以先为您提供一个故事的示例,如果需要更多故事,可以在之后输入继续。


广芯电子:从创业起步到业界翘楚的飞跃

在电子行业的广阔天地中,广芯电子以其坚韧不拔的精神和前瞻性的技术布局,逐渐崭露头角,成为业界的一匹黑马。

故事要从创始人戴忠伟的海外求学经历说起。深受邓小平南巡讲话的影响,戴忠伟毅然辞去稳定的工作,选择留学深造。在异国他乡,他深耕半导体集成电路领域,积累了丰富的技术经验和人脉资源。毕业后,他先后在多家知名美国半导体公司担任技术专家和设计总监,为后来的创业之路打下了坚实的基础。

回国后,戴忠伟敏锐地洞察到国内半导体市场的巨大潜力,于是决定创立广芯电子,致力于中高端功率器件的晶圆代工业务。创业初期,公司面临着资金短缺、技术瓶颈等重重困难,但戴忠伟带领团队凭借着对技术的执着追求和对市场的深刻理解,逐步攻克了一个又一个难关。

经过几年的努力,广芯电子实现了从交付第一千万颗芯片到第一亿颗芯片的跨越,并在短短七年内实现了交付第十亿颗芯片的壮举。这一成绩的背后,是公司对技术创新的不断投入和对产品质量的严格把控。同时,广芯电子还积极拥抱资本市场,成功登陆新三板,为公司的进一步发展注入了强劲的动力。

随着公司规模的扩大和业务的拓展,广芯电子逐渐在电子行业中树立了良好的口碑。公司先后获得了上海市“专精特新”企业称号和工信部“专精特新小巨人”企业称号,这是对广芯电子在技术创新和市场竞争力方面的充分认可。

如今,广芯电子已经成为电子行业中不可或缺的一员。公司不仅在国内市场占据了一席之地,还积极拓展海外市场,与多家国际知名企业建立了紧密的合作关系。未来,广芯电子将继续秉持着创新、务实、高效的企业精神,不断推动电子行业的发展,为人类社会的进步贡献自己的力量。


若您想要探索更多内容,随时可以继续输入。

EPC公司的发展小趣事

另一家EPC公司认识到全球化市场的重要性,积极拓展海外市场。公司首先在欧洲和北美地区设立了分公司,通过深入了解当地市场需求和法规要求,成功开展了多个项目。随后,公司进一步将业务拓展至亚洲和非洲等地区,形成了全球化的市场布局。在全球化的过程中,公司注重本土化经营,积极融入当地市场,为客户提供定制化的解决方案,赢得了客户的信任和支持。

Econais公司的发展小趣事

Econais公司成立于XXXX年,其创始人是一群在无线通信技术领域拥有深厚背景和丰富经验的工程师。他们看到了物联网(IoT)和机器对机器(M2M)通信的巨大潜力,并希望通过自己的技术,为全球的设备提供高效、稳定的无线连接方案。于是,Econais应运而生,专注于研发超低功耗(ULP)和高性能的无线模块。

Feller US公司的发展小趣事

随着全球汽车产业的不断发展,国际合作已成为企业拓展市场、提升竞争力的重要途径。菲斯克也深刻认识到了这一点,积极寻求与全球各地的汽车制造商和供应商建立合作关系。通过与国际巨头的合作,菲斯克不仅获得了先进的技术和管理经验,还成功进入了多个国际市场,实现了全球布局的目标。这一系列的国际合作不仅提升了公司的知名度和影响力,还为公司的长期发展提供了有力的支持。

EZchip Technologies Ltd公司的发展小趣事

在电子行业中,人才和研发实力是企业成功的关键。EZchip深知这一点,因此一直重视人才团队的建设和研发实力的提升。公司拥有一支由业内顶尖专家和学者组成的研发团队,他们具备丰富的行业经验和深厚的技术功底。同时,EZchip还注重人才培养和引进,通过提供良好的工作环境和福利待遇吸引了一批批优秀人才加入。正是这些优秀的人才和强大的研发实力,为EZchip的持续发展提供了有力保障。

DCCOM [ DC COMPONENTS ]公司的发展小趣事

在快速发展的过程中,DCCOM公司始终坚持品质至上的原则。公司建立了一套严格的质量控制体系,从原材料采购到产品生产的每一个环节都严格把关。这种对品质的执着追求,使得DCCOM的产品在市场上赢得了良好的口碑,客户回头率逐年攀升。

问答坊 | AI 解惑

DXP 2004 操作word形式,带图形解释

DXP 2004  操作word形式,带图形解释…

查看全部问答>

求好一点的电子基础知识资料

求大家给一份好一点的电子基础知识的资料吧!好难找一些这方面的东西…

查看全部问答>

wince运行后时屏幕上字体闪烁厉害,请问有解决办法吗?

wince运行后时屏幕上字体横向上闪烁厉害,并且纵向上有抖动,是不是2440非工业级别抗干扰能力差的原因?…

查看全部问答>

ADS中由汇编程序转到C程序的问题

我用的周立功EasyARM2100开发板附带有工程模板,当新建工程选择LPC2100时会自动生成很多初始化的文件,其中startup.s文件中有这样一段语句: ;The imported labels ;引入的外部标号在这声明     IMPORT  FIQ_Exception  ...…

查看全部问答>

编译bootloader

我已修改demo板上自带的bootloader,但我不知道怎么编译成.bin文件呢,请教一下,谢谢…

查看全部问答>

小哥我遇到的打死也想不到的问题

小哥我所在的公司一个生产车间的控制系统用的是莫迪康984-785E系列的PLC,从96年投运至今已经快十五年了,最近出现了一个奇怪的故障,某台设备启动后靠PLC就停不下来了,只能将这台设备切换至就地控制,才能用就地停止按钮停下来。一开始怀疑是PLC ...…

查看全部问答>

六大主流技术标准规格认证徽标详解

关键字: 技术标准  技术标准化  认证   伴随着科技的不断进步发展,更多新颖的技术与随之而来的标准规范相应而生。之前我们已经专文谈论过技术标准化(Technology Standardization)的重要性,技术标准化不仅在产 ...…

查看全部问答>

请教下高手 关于ML2724射频收发器

请教下高手 关于ML2724射频收发器现在是否已经淘汰。刚好本公司有买到一批,担心已经是淘汰品。非常感谢~…

查看全部问答>

运放失调电流如何测?

本帖最后由 paulhyde 于 2014-9-15 08:59 编辑 在做运放参数测试仪的时候,我们遇到了测试失调电压测很准,但是失调电流却测不准,这会是什么原因呀。求大侠指导。。。 [ 本帖最后由 决意沧海 于 2011-8-22 15:17 编辑 ]  …

查看全部问答>

关于msp430PWM驱动LED程序问题?

/******************************************************* 程序功能:用从P2.3和P2.4输出的PWM波形驱动LED闪烁           P2.3口输出方波的占空比为75%           P2.4口输出方 ...…

查看全部问答>