请教各位了,stm8s IO位操作如何实现像stm32类似的位带操作啊?

2019-07-19 21:04发布



请教各位了,stm8s IO位操作如何实现像stm32类似的位带操作啊?
#define LED           PAout(0)   ,
LED = 1;
LED = 0;
单独操作IO口啊
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
螃蟹爱虫
1楼-- · 2019-07-20 23:36
可以位带操作,在库文件“iostm8s103f3.h”中已经定义了位,所以包含此库即可使用位带操作。如下代码:
#define PB_ODR_ODR0              PB_ODR_bit.ODR0
#define PB_ODR_ODR1              PB_ODR_bit.ODR1
#define PB_ODR_ODR2              PB_ODR_bit.ODR2
#define PB_ODR_ODR3              PB_ODR_bit.ODR3
#define PB_ODR_ODR4              PB_ODR_bit.ODR4
#define PB_ODR_ODR5              PB_ODR_bit.ODR5
#define PB_ODR_ODR6              PB_ODR_bit.ODR6
#define PB_ODR_ODR7              PB_ODR_bit.ODR7

#define PB_IDR_IDR0              PB_IDR_bit.IDR0
#define PB_IDR_IDR1              PB_IDR_bit.IDR1
#define PB_IDR_IDR2              PB_IDR_bit.IDR2
#define PB_IDR_IDR3              PB_IDR_bit.IDR3
#define PB_IDR_IDR4              PB_IDR_bit.IDR4
#define PB_IDR_IDR5              PB_IDR_bit.IDR5
#define PB_IDR_IDR6              PB_IDR_bit.IDR6
#define PB_IDR_IDR7              PB_IDR_bit.IDR7


此时,如果定义:
#define LED  PB_ODR_ODR0
,则LED即代表PB0.
一瞬の空
2楼-- · 2019-07-20 23:58
用IAR编程的话直接#include "iostm8s103f3.h"就可以用PA_ODR_ODR1这种写法了,IAR自带iostm8s103f3.h
螃蟹爱虫
3楼-- · 2019-07-21 03:28
 精彩回答 2  元偷偷看……

一周热门 更多>