历史上的今天
返回首页

历史上的今天

今天是:2025年01月12日(星期日)

2020年01月12日 | IAR编译STM8S 中的脚位操作对库函数的一点修改

2020-01-12 来源:eefocus

IAR编译STM8S 自带的库函数都知道,IO口中有个每局定义如下:


typedef enum


{

 GPIO_PIN_0    = ((u8)0x01),  /*!< Pin 0 selected */

 GPIO_PIN_1    = ((u8)0x02),  /*!< Pin 1 selected */

 GPIO_PIN_2    = ((u8)0x04),  /*!< Pin 2 selected */

 GPIO_PIN_3    = ((u8)0x08),   /*!< Pin 3 selected */

 GPIO_PIN_4    = ((u8)0x10),  /*!< Pin 4 selected */

 GPIO_PIN_5    = ((u8)0x20),  /*!< Pin 5 selected */

 GPIO_PIN_6    = ((u8)0x40),  /*!< Pin 6 selected */

 GPIO_PIN_7    = ((u8)0x80),  /*!< Pin 7 selected */

 GPIO_PIN_LNIB = ((u8)0x0F),  /*!< Low nibble pins selected */

 GPIO_PIN_HNIB = ((u8)0xF0),  /*!< High nibble pins selected */

 GPIO_PIN_ALL  = ((u8)0xFF)   /*!< All pins selected */

}GPIO_Pin_TypeDef;


然后在调用 GPIO_Pin_TypeDef 时,如果传递更多的参数时会提示一下红色字体,虽然不会有什么影响,但看着也别扭


如函数 void GPIO_WriteBit(GPIO_TypeDef* GPIOx, GPIO_Pin_TypeDef GPIO_Pin, BitAction GPIO_BitVal)


操作void GPIO_WriteBit(GPIOA, GPIO_PIN_0 , BitAction GPIO_BitVal) //不会提示报警


操作void GPIO_WriteBit(GPIOA, GPIO_PIN_0|PIO_PIN_1 , BitAction GPIO_BitVal) //会提示报警


Warning[Pe188]: enumerated type mixed with another type C:Program FilesIAR SystemsEmbedded Workbench 6.0stm8examplesST-LINK复件 STM8S105C6-BoardProjectDiscoversrcmain.c 215 


因此我宏定义如下,再次传递多个参数时,就没有出现警告的提示了。


#define GPIO_PIN_0       ((u8)0x01)  /*!< Pin 0 selected */

#define GPIO_PIN_1       ((u8)0x02)  /*!< Pin 1 selected */

#define GPIO_PIN_2       ((u8)0x04)  /*!< Pin 2 selected */

#define GPIO_PIN_3       ((u8)0x08)  /*!< Pin 3 selected */

#define GPIO_PIN_4        ((u8)0x10)  /*!< Pin 4 selected */

#define GPIO_PIN_5        ((u8)0x20)  /*!< Pin 5 selected */

#define GPIO_PIN_6        ((u8)0x40)  /*!< Pin 6 selected */

#define GPIO_PIN_7        ((u8)0x80)  /*!< Pin 7 selected */

#define GPIO_PIN_LNIB     ((u8)0x0F)

#define GPIO_PIN_HNIB     ((u8)0xF0)

#define GPIO_PIN_ALL      ((u8)0xFF)

推荐阅读

史海拾趣

芯力微(CHI Power)公司的发展小趣事

芯力微深知人才是企业发展的核心动力。因此,公司一直注重人才的培养和引进。公司建立了一套完善的人才培养机制,为员工提供广阔的发展空间和良好的职业前景。同时,芯力微还积极引进国内外优秀人才,打造了一支高素质、专业化的团队。这支团队不仅具备丰富的行业经验和技术能力,还具备高度的责任感和使命感。他们为公司的发展贡献了自己的智慧和力量。

EVERLIGHT公司的发展小趣事

进入21世纪,随着全球电子产业的快速发展,EVERLIGHT迎来了市场扩张的机遇。公司不仅巩固了在台湾市场的领先地位,还积极开拓国际市场。通过与国际知名品牌的合作,EVERLIGHT的产品逐渐进入全球市场,赢得了广泛认可。同时,公司还加强了对新兴市场的开拓,如中国大陆、东南亚等地区,为公司的持续发展注入了新的动力。

德芯半导体(Doeshare)公司的发展小趣事

德芯半导体自成立以来,就致力于半导体技术的研发与创新。公司拥有一支由电子学材料学博士、硕士和教授组成的专家团队,他们不断在半导体MEMS技术上取得突破。这些技术创新不仅推动了产品的发展,还使德芯半导体在智能家居、智能制造等领域的应用中取得了显著的成绩。公司通过与国内外先进企业的合作,采用OEM的合作方式,委托完成关键的工序工艺,确保了产品的高品质。

光大芯业公司的发展小趣事

光大芯业微电子有限公司的创立,源于一群对电子行业充满热情的先驱者。他们看到了中国电子产业在起步阶段所面临的挑战和机遇,决定投身其中,为中国电子产业的崛起贡献自己的力量。公司的成立,不仅标志着中国电子产业的一个新起点,也展示了光大芯业对于未来技术发展的坚定信念和追求。

Dearborn Electronics Inc公司的发展小趣事

Dearborn Electronics Inc.始终将品质放在首位,建立了严格的质量管理体系。公司从原材料采购到生产、检验、包装等各个环节都进行严格的质量控制,确保每一件产品都符合最高标准。此外,公司还不断引进先进的生产设备和技术,提高生产效率和产品质量。

Freeport Resources Enterprises Corp公司的发展小趣事

为了应对矿业市场的周期性波动和不确定性风险,Freeport Resources实施了多元化经营战略。在保持矿业勘探和开发核心业务的同时,公司还涉足了电子材料贸易、新能源开发等多个领域。通过多元化经营,Freeport Resources有效分散了经营风险,提高了整体抗风险能力。此外,多元化经营还为公司带来了新的增长点,促进了公司的持续健康发展。

问答坊 | AI 解惑

关于车用LED灯

从上个世纪早期开始到现在,汽车外部照明一直使用灯丝型灯泡,然而,这种历史悠久的灯泡可能在下个十年(2011-2020)最终退出汽车头灯和后灯市场,因为人们正为汽车设计一种更明亮的新型发光二极管(LED)。   两家LED供货商透露,他们正设计光通量 ...…

查看全部问答>

两个工业用模拟电路

电话延伸报警板: https://bbs.eeworld.com.cn/thread-94824-1-1.html 增音型声力电话: https://bbs.eeworld.com.cn/thread-94880-1-1.html…

查看全部问答>

高分求助!进来看看,都有加分

  我想问下搞射频电子,嵌入式,通信方面分别依次要学些什么啊,最好把要看的书籍的名字写上,还有看这些书的先后顺序。我是一个电子专业的学生,想搞这些方面,虽然问题是多了点,但是那位回答的最好,分加的最多!君子一言,驷马难追! ...…

查看全部问答>

一个PCI驱动多个相同的设备

请问我有多个PCI相同的设备插在了同一台主机上,可是只有一个设备功能正常。 请教我怎样修改驱动程序让它驱动多个相同设备呢?希望各位大虾提供些思路 ,小弟是pci的初学者…

查看全部问答>

STA后report_timing的报告分析

****************************************Report : timing        -path full        -delay max        -max_paths 1Design : adder_N4Version: Z-2 ...…

查看全部问答>

LM324中文资料

本帖最后由 dontium 于 2015-1-23 13:24 编辑 LM324中文资料 …

查看全部问答>

怎么区别一块PCB板上数字模块和模拟模块

请各位大虾帮帮忙,怎么判断一个电路板上的一个模块是数字模块还是模拟模块?还是就是模拟器件与数字器件是如何确切定义是区别的?请知道的朋友帮我解答一下,对这两个概念有点混乱,先谢了!…

查看全部问答>

关于STM SPI的DMA方式发送数据

最近在调试SPI   SPI1用DMA1 Channel3  来发送数据        发现一个奇怪的问题    发送的数据存储器的最后一个数据(我这边是字节,因为数据大小选择为BYTE)的最高位为1的时候 ...…

查看全部问答>

本人毕业设计是基于Zigbee的无线组网技术的研究,有些问题想请教大家

本人毕业设计是基于Zigbee的无线组网技术的研究,老师给我两块cc2430,有些问题想请教大家。1、老师给我的两的两块板子年代有点远了,没有相应资料,我自己拍了照片,想问问各位大神有人认识吗?或者有有关的资料能发我一份吗?2、大家还有什么好点 ...…

查看全部问答>

关于UART的中断的发现

今天编程的时候遇到:如果把UART的发送中断打开,用中断方式的按键扫描程序就不能正常运行。不知为什么。IO口一直在复位。。。。…

查看全部问答>