IAR 编程器 STM8S 脚位的位定义

多余的就不说了,都明白,为了方便操作,我们常常会用到类似于LED1 = 1来点亮一个灯,此处LED1就是一个脚位,它当然不是系统自带,一般都是我们宏定义一个脚位。 昨天刚接触IAR这个编程器,想用类似的方法来操作,但是类似51内核操作(keil中写法) sbit   LED1  PA0  ; STVD 中的  _Bool   PA0_OUT   @PA_ODR:0; 这是头有点大,一方面想着操作能方便点,一方面又不想折腾太多时间。

经过一番折腾,最后还是选择通过位操作结合宏定义来操作,具体如下:

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 */

#define PA0OUTSET  (GPIOA->ODR |= GPIO_PIN_0)//PA0 =1
#define PA0OUTCLR  (GPIOA->ODR &= (~GPIO_PIN_0))//PA0 =0

#define PB0INVAL   (GPIOB->IDR & (GPIO_PIN_0))//用于作为输入时用,即PA0输入值

#define		P_K1		PB0INVAL//宏定义PK1的IO位PB0
#define		LED1_EN		PA0OUTSET//点亮LED1
#define		LED1_DIS	PA0OUTCLR //熄灭LED1

IAR 编程器 STM8S 脚位的位定义

时间: 2024-08-06 23:17:31

IAR 编程器 STM8S 脚位的位定义的相关文章

dll文件32位64位检测工具以及Windows文件夹SysWow64的坑(很详细,还有自动动手编程探测dll)

阅读目录 dll文件不匹配导致数据库无法启动 究竟是System32还是SysWow64 区分dll文件32位64位的程序让我倍感迷惑 再次判断究竟是System32还是SysWow64——意想不到的坑 Program Files (x86)与Program Files 32位程序真的需要访问System32吗 32位程序与64位程序的区别总结 参考资料 自从操作系统升级到64位以后,就要不断的需要面对32位.64位的问题.相信有很多人并不是很清楚32位程序与64位程序的区别,以及Program

将USBASP改造成STK502编程器(转)

源:将USBASP改造成STK502编程器 现在淘宝上还有不少USBasp或者USBisp的51/AVR编程器,它们使用了开源的USBasp硬件,以及PROGISP软件或者其它一些下载软件.其实我们可以非常方便的将它们改为STK502编程器,不但稳定性更好,也可以和AVR Studio无缝集成,使用更加方便. USBasp是开源项目AVRDoper出现之前比较有名的一个开源USB编程器项目,它可以对AVR单片机进行编程.它使用avrdude等软件做为上位机编程软件,可以在Windows和Linu

深度技术ghost win8 32位/64位装机旗舰版V2014

深度技术ghost win8 32位装机旗舰版V2014下载地址:http://pan.baidu.com/s/1kTLqJLt 深度技术ghost win8 64位装机旗舰版V2014下载地址:http://pan.baidu.com/s/1i3zakU5 本软件深度技术ghost win8 32位/64位装机旗舰版V2014由深度系统官网特别分享: 一.主要更新 * 更新PE系统采用2003内核,支持最新型号机器,解决一些笔记本认不到硬盘问题. * 驱动采用自由天空最新驱动包,个别电脑可能会

关于如何生成32位/64位程序的问题

生成32位/64位程序不是由所在操作系统的位数决定的(意思是在32位系统下生成的不一定是32位,同理在64位下生成的也不一定是64位),这主要由编译器的位数决定的. 要生成32位/64位的程序需要在编译环境中选择相应的编译器(32位/64位)即可. 这里以vs2008 (生成64位程序)为例: 在解决方案中打开配置管理器,点击选择新建解决方案平台,选择x64平台,编译生成就可以了. 如果没有该选项,则需要安装相应x64编译器

极路由1s HC5661 编程器救砖教程

说明:极1s如果刷错了固件,比如刷了HC5661A之类的,那么,会出现亮不灯的死机情况,这个时候说明固件引导已经刷坏了,只能拆机用编程器救砖或者返厂维修.如果采用编程器的话,因为没有备份,基本不可能恢复云应用功能.另一种情况是电源灯还亮着,这种情况是不需要拆机的,修复方法官网有. 工具:淘宝买的 CH341A编程器一个,价格大约15元. 接线: 方法: 1.设置编程器 这一步很重要,我就是因为没有设置,花了一天时间,还以为是路由因为自己焊的时候焊坏了!设成与我一样就行了. 2.点击检测,差别是否

利用CH341A编程器刷新BIOS,恢复BIOS,妈妈再也不用担心BIOS刷坏了

前几天,修电脑主析就捣鼓刷BIOS,结果刷完黑屏开不了机,立刻意识到完了,BIOS刷错了.就从网上查资料,各种方法试了个遍,什么用处都没有.终于功夫不负有心人,找到了编码器,知道了怎么用.下面看看具体用法: 先买了一个便宜点的编码器: <ignore_js_op> 把刷错的BIOS芯片先拆下来:<ignore_js_op> 把芯片放到编码器上: 再找一台电脑,我的笔记本派上用场了,下载编码器的驱动程序和编码器软件:  <ignore_js_op> <ignore_

阿里云主机Windows 2008 32位 64位自助正版激活图文教程

这篇文章主要介绍了阿里云主机Windows 2008 32位 64位自助正版激活图文教程,本文讲解详细,图文说明自助激活Windows正版教程,需要的朋友可以参考下 Windows2008 32位.64位 中文版操作系统,自助激活Windows正版,远程登录服务器后: 1.开始——运行 2.在运行里面输入cmd. 系统会跳出如下窗口: 3.输入slmgr   -skms   kms.aliyun-inc.com 4.输入slmgr -ato 5.完成

关于32位/64位版本头文件的重要

1.今天在测试产品发现一个十分异常的现象,代码从语法上分析完全正确,代码如下 2.在32位系统上编译可以通过,其中第15行出现警告:warning: initialization makes pointer from integer without a cast, 但执行时,正常结束 3.在64位linux系统编译可以通过,其中第15行出现警告:warning: initialization makes pointer from integer without a cast, 但在执行时出现 S

8位16位32位单片机区别

8位16位32位区别 8位单片机的数据总线宽度为8位,通常直接只能处理8位数据: 16位单片机的数据总线宽度为16位,通常可直接处理8位或16位数据. 8位数据类型所占大小 16位数据类型所占大小 stm32,k60数据类型