历史上的今天
返回首页

历史上的今天

今天是:2024年12月23日(星期一)

正在发生

2019年12月23日 | STM8L固件库外部中断的使用及注意事项

2019-12-23 来源:eefocus

1.初始化函数


GPIO_Init(GPIOB, GPIO_Pin_3, GPIO_Mode_In_FL_IT);

EXTI_SetPinSensitivity(GPIO_Pin_3, EXTI_Trigger_Falling);//有误,下文会说明


2.中断函数


INTERRUPT_HANDLER(EXTI3_IRQHandler,11)

{


EXTI_ClearITPendingBit(EXTI_IT_Pin3);


//


}


3.问题及说明


关于函数的具体使用我就不多说了,在固件库和手册里都可以找到。在测试的时候发现信号输入为下降沿并保持低电平时会反复触发,很像是被配置成了下降沿和低电平触发模式。我调试了很久都没找到问题,最后再看了一遍库函数,正确的配置是


EXTI_SetPinSensitivity(EXTI_Pin_3, EXTI_Trigger_Falling);


一开始我也注意到了应该用EXTI_Pin_3而不是GPIO_Pin_3,但是根据我编写AVR的经验,我认为这两个宏都定义为3,如果不是3也应该相同,所以没有多想。


打开对应头文件,看看这两个宏定义


  GPIO_Pin_0    = ((uint8_t)0x01),   /*!< Pin 0 selected */

  GPIO_Pin_1    = ((uint8_t)0x02),   /*!< Pin 1 selected */

  GPIO_Pin_2    = ((uint8_t)0x04),   /*!< Pin 2 selected */

  GPIO_Pin_3    = ((uint8_t)0x08),   /*!< Pin 3 selected */

  GPIO_Pin_4    = ((uint8_t)0x10),   /*!< Pin 4 selected */

  GPIO_Pin_5    = ((uint8_t)0x20),   /*!< Pin 5 selected */

  GPIO_Pin_6    = ((uint8_t)0x40),   /*!< Pin 6 selected */

  GPIO_Pin_7    = ((uint8_t)0x80),   /*!< Pin 7 selected */




  EXTI_Pin_0 = (uint8_t)0x00, /*!< GPIO Pin 0 */

  EXTI_Pin_1 = (uint8_t)0x02, /*!< GPIO Pin 1 */

  EXTI_Pin_2 = (uint8_t)0x04, /*!< GPIO Pin 2 */

  EXTI_Pin_3 = (uint8_t)0x06, /*!< GPIO Pin 3 */

  EXTI_Pin_4 = (uint8_t)0x10, /*!< GPIO Pin 4 */

  EXTI_Pin_5 = (uint8_t)0x12, /*!< GPIO Pin 5 */

  EXTI_Pin_6 = (uint8_t)0x14, /*!< GPIO Pin 6 */

  EXTI_Pin_7 = (uint8_t)0x16  /*!< GPIO Pin 7 */


可以看到并不相同。


再查看手册,中断默认配置为下降沿和低电平触发模式。


小结:


使用库函数固然很方便快捷,但是有时候不能过于图方便,遇到问题要仔细看库函数和手册。


推荐阅读

史海拾趣

Densei-Lambda (TDK)公司的发展小趣事

以下是关于Densei-Lambda(现更名为TDK-Lambda)公司在电子行业发展的五个相关故事,每个故事都尽可能客观地描述了事实,没有加入主观评价:

  1. 日本电子存储器工业株式会社的起步

TDK-Lambda的前身可以追溯到1970年成立的日本电子存储器工业株式会社。当时,该公司主要致力于电子存储器的研发和生产。在创始人及团队的共同努力下,公司逐渐在电子存储领域取得了一席之地,为后续的发展奠定了坚实的基础。

  1. 电盛兰达株式会社的成立与成长

随着时间的推移,日本电子存储器工业株式会社逐渐将业务重心转向电源领域,并于1990年代更名为电盛兰达株式会社。在电源领域,电盛兰达凭借其出色的技术实力和产品品质,迅速获得了市场的认可。同时,公司不断扩大生产规模,提高生产效率,逐渐在电源市场上占据了一席之地。

  1. TDK集团的收购与融合

2005年,TDK集团宣布收购英国Invensys旗下的Lambda集团,包括Lambda USA、Lambda Europe以及电盛兰达株式会社。这一收购不仅扩大了TDK集团的业务范围,也进一步巩固了其在电源领域的领先地位。随后,TDK集团和电盛兰达宣布将双方的电源产品统一为TDK-Lambda品牌,共同进行推广和销售。

  1. 无锡东电化兰达电子有限公司的成立与发展

1995年,电盛兰达株式会社在中国投资设立了全资子公司——无锡东电化兰达电子有限公司。该公司位于无锡新加坡工业园,专注于开关稳压电源的开发、生产和销售。多年来,无锡东电化兰达电子有限公司凭借总公司强大的技术后盾和先进的管理理念,不断提高生产效率和产品质量,已成为集团内最重要的基地之一。

  1. TDK-Lambda电源新品的创新与发展

近年来,TDK-Lambda不断推出具有创新性的电源产品,以满足市场的多样化需求。例如,公司推出的DRB系列DIN导轨安装电源新增了三相交流输入和高功率型号,具有过流保护、低输入浪涌电流等特点,广泛应用于开关柜、分布式机械和工业系统等领域。这些新品的推出不仅进一步巩固了TDK-Lambda在电源领域的领先地位,也为公司带来了更广阔的发展空间。

ZTE高新兴(Gosuncn)公司的发展小趣事

对于J-107B型高频双头式热合机电路,网友可能提出的问题及回答如下:

问题一:J-107B型高频双头式热合机的主要工作原理是什么?

回答:J-107B型高频双头式热合机的主要工作原理是利用高频电场作用于塑料材料,使其内部分子发生极化现象,并在高频电场的快速变化下,这些被极化的分子以同样极快的速度跟随变化,从而因介电损耗产生大量的热量。这些热量聚集并达到高温,使塑料材料熔化。在熔化状态下,通过施加一定的压力,可以使两块或多块塑料熔合粘结在一起,实现高频热合的目的。

问题二:J-107B型高频双头式热合机的电路结构有哪些主要部分?

回答:J-107B型高频双头式热合机的电路结构主要包括以下几个主要部分:

  1. 高频振荡电路:这是热合机的核心部分,通常由电子管(如Fu-33中功率发射电子管)组成,用于产生高频电场。电子管通过自激振荡方式工作,利用电子管的授间电容作振荡回路的主电窖,组成考毕兹振荡器。

  2. 时间控制电路:用于控制热合的时间,通常由电子管(如6P6P电子管)和时间控制元件(如RP1和RP2调节器)组成。通过调整这些元件,可以精确地控制热合过程中的各个阶段时间,如预热时间、熔合时间和冷却时间。

  3. 电源电路:为整个热合机提供稳定的电源供应,确保高频振荡电路和时间控制电路的正常工作。电源电路需要满足一定的电压和电流要求,通常要求电源电压在190~230V范围内。

  4. 保护电路:为了防止电路过载、短路等异常情况的发生,热合机还配备了保护电路。这些电路能够在检测到异常情况时迅速切断电源,保护设备和操作人员的安全。

问题三:如何维护和保养J-107B型高频双头式热合机?

回答:为了保持J-107B型高频双头式热合机的良好性能和延长使用寿命,需要进行定期的维护和保养。以下是一些建议:

  1. 定期检查电源线和插头:确保它们没有损坏或松动,避免电源问题导致的故障。

  2. 清洁机器内部:定期清理机器内部的灰尘和杂物,保持机器内部的清洁和干燥。这有助于防止电子元件因灰尘积累而损坏。

  3. 检查电子元件:定期检查高频振荡电路和时间控制电路中的电子元件是否损坏或老化。如有需要,应及时更换以确保电路的正常工作。

  4. 调整和维护模具:模具是热合机的关键部件之一,需要定期进行调整和维护。确保模具的接合位置准确、平整,避免模具损坏导致的热合质量下降。

  5. 注意安全操作:在操作过程中,应注意安全用电和防火措施。避免在潮湿或腐蚀性气体环境下使用热合机,以防止触电或设备损坏。

  6. 定期校准:对于需要精确控制时间或温度的热合机,应定期进行校准以确保其准确性。这有助于提高热合质量和生产效率。

南京绿芯(Grenergy)公司的发展小趣事

对于电子消毒柜电路,网友可能的问题涉及多个方面,包括故障排查、日常维护、使用注意事项等。以下是一些可能的问题及详细回答:

一、故障排查类问题

1. 消毒柜通电后跳闸怎么办?

回答
消毒柜通电后跳闸可能是由电路短路引起的。首先,检查电源插座的火线(L)、零线(N)、地线(E)是否接线正确。其次,按照消毒柜上的线路图检查柜内线路接线是否正确,以及线路绝缘层是否被破坏(如被螺丝钻破、被金属边角划破等)。如果以上检查均正常,可能是电源板或继电器等部件损坏,建议联系专业维修人员进行检查和更换。

2. 消毒柜插上电源后无法启动,指示灯不亮怎么办?

回答
消毒柜无法启动且指示灯不亮,可能是由以下原因造成:电源插座无电或接触不良、熔断器烧坏、电源线与机体接触不良或断路、变压器烧坏或断路、电路板烧坏、继电器失灵等。解决方法包括检查电源插座、更换熔断器、检查并修复线路、更换电路板或继电器等。如果问题依然存在,建议联系专业维修人员进行检查。

二、日常维护类问题

1. 消毒柜需要定期清洁哪些部位?

回答
消毒柜需要定期清洁的部位包括柜体内部、层架、门封条以及散热孔等。清洁时,应使用柔软的布或海绵,避免使用腐蚀性强的清洁剂。同时,要注意不要将水溅入电路板等电子元件区域,以免造成短路或损坏。

2. 消毒柜的电源线应该如何保养?

回答
消毒柜的电源线应定期检查是否老化或破损,如有发现应及时更换。在使用过程中,应避免电源线过度弯折或受到重物压迫,以免影响其使用寿命和安全性。此外,电源线应远离高温、潮湿和腐蚀性强的环境,以确保其绝缘性能不受影响。

三、使用注意事项类问题

1. 消毒柜在使用时需要注意哪些安全问题?

回答
消毒柜在使用时需要注意以下安全问题:

  • 确保电源插座接地良好,避免漏电危险。
  • 不要将易燃易爆物品放入消毒柜内,以免发生火灾或爆炸。
  • 在使用过程中,应避免频繁开关柜门,以免影响消毒效果和能耗。
  • 使用完毕后,应及时关闭电源并拔掉插头,以节约能源和延长设备使用寿命。

2. 消毒柜是否可以一直插电使用?

回答
消毒柜是否可以一直插电使用取决于用户的使用情况和需求。如果用户经常使用消毒柜且没有其他特殊需求,可以保持电源连接;如果用户不经常使用消毒柜或者有其他特殊需求(如节约能源、避免设备老化等),建议在使用前提前通电,并在非使用状态下拔掉电源。此外,为了确保安全,插座应具备防水、防漏电等功能。

综上所述,对于电子消毒柜电路的问题,网友可能关注故障排查、日常维护和使用注意事项等方面。通过了解这些问题的解决方法和注意事项,可以更好地使用和维护消毒柜,确保其正常运行和延长使用寿命。

ELNA(依娜)公司的发展小趣事

随着全球对环保和可持续发展的重视,ELNA也开始关注绿色制造和环保产品。公司积极采用环保材料和清洁能源,减少生产过程中的污染和排放。同时,ELNA还加强了对废旧产品的回收和再利用,推动循环经济的发展。

Allied Electronic & Semiconductor Technology Inc公司的发展小趣事

在追求经济效益的同时,AE&ST公司也积极履行社会责任,致力于可持续发展。公司严格遵守环保法规,采用环保材料和工艺,减少生产过程中的污染排放。此外,公司还积极参与社会公益活动,支持教育事业和科技创新。这些举措不仅提升了公司的社会形象,也为公司的长远发展奠定了坚实的基础。

请注意,这些故事是基于一般电子行业发展趋势和常见模式构建的虚构故事,旨在展示一个电子公司可能的发展路径。对于AE&ST公司的实际情况,建议查阅相关官方资料或行业报告以获取准确信息。

BH Electronics公司的发展小趣事

BH Electronics的创立源于创始人李明对电子技术的深厚兴趣和敏锐洞察。在20世纪90年代初,电子市场刚刚起步,李明凭借对市场的精准判断,决定投身于这一新兴行业。他带领一支小团队,在简陋的办公室中开始了艰苦的创业历程。他们昼夜兼程,研发出了一款具有竞争力的电子元件,成功打开了市场的大门。虽然初期资金匮乏,市场认可度低,但李明和他的团队凭借坚韧不拔的精神,逐步在市场中站稳了脚跟。

问答坊 | AI 解惑

虚心求教

我在看书时候看到 晶体管反向击穿。请大家解释下什么叫晶体管反向击穿??是不是两个PN结被击穿了?谢谢!…

查看全部问答>

物联网应用凸显IP地址资源紧缺

在近日举行的2010全球IPv6下一代互联网高峰会议上,物联网再度成为热点。不过这次专家讨论的焦点不是物联网的美好未来,而是物联网必须面对的一个紧迫问题:IPv4地址资源即将耗尽,我国必须尽快发展IPv6来满足物联网对IP地址资源的大量需求。  ...…

查看全部问答>

wince6.0 下如何编写能使直接访问硬件的软件?

wince6.0 下如何编写能使直接访问硬件的软件? 以前在wince5.0 下使用MmMapIoSpace就可以很容易做到了。 但是wince6.0 下的应用程序和驱动已经不在同一个空间了。 如何做到? 有时候写一个应用程序去直接操纵硬件对调试驱动非常有帮助, 在win ...…

查看全部问答>

ucos修改

ucos原来的任务TCB是动态链表结构,现在把这个改为静态的.大意如下所表示: typedef struct os_tcb_rom { *    OS_STK          *OSTCBStkPtr;          // Pointer to cur ...…

查看全部问答>

如何选择芯片

请教各位达人,应该怎么去选择所需要的芯片,现在我连型号都没有,要求的功能简单,51芯片即可。大家能否提供些芯片来看看,谢谢!…

查看全部问答>

'findstr' 不是内部或外部命令,也不是可运行的程序

在创建wince平台时,编译时,出现SMDK2410 - 1 error(s), 0 warning(s),在build.log出现:\'findstr\' 不是内部或外部命令,也不是可运行的程序 或批处理文件。…

查看全部问答>

招聘电子工程师注册类的

我公司现在急招一名电子工程师(电子信息,广播电视电影),电动控制中高级职称。 费用可谈,联系人:刘工,电话:15110022612,QQ:1480984099…

查看全部问答>

STM8S105S6最多能做几路占空比独立可调的PWM?

                                 如题,频率固定…

查看全部问答>

请问at056tn52 v.3中的POL和VCOM信号该是什么样的接法?

Vcom信号分AC和DC吗,我看手册上标的都是VCOM,并没有AC DC之分。POL部分产生VCOM信号我是按照手册上的电路图来的,只不过运放是UTC3414。VCOM基本在DC1V上下。我用的是凌阳的GPL32来驱动的,HV模式,DE悬空。用示波器量了DCLK在24M,Hsync信号为30K ...…

查看全部问答>