STC32G144K246怎样配置PA PB引脚问题
sfr P0 = 0x80;sbit P00 = P0^0;
sbit P01 = P0^1;
sbit P02 = P0^2;
sbit P03 = P0^3;
sbit P04 = P0^4;
sbit P05 = P0^5;
sbit P06 = P0^6;
sbit P07 = P0^7;
怎样配置PA PB的具体引脚呢,有没有详细配置说明
sfr PA = 0x80; 具体哪个
sbit PA0 = PA^0;
sbit PA1 = PA^1;
sbit PA2 = PA^2;
sbit PA3 = PA^3;
sbit PA4 = PA^4;
sbit PA5 = PA^5;
sbit PA6 = PA^6;
sbit PA7 = PA^7;
比喻上述这样配置 延用stc早期单片机风格
如图 soma 发表于 2026-5-23 15:46
如图
sbit PA0OUT = PA^0;
sbit PA1OUT = PA^1;
sbit PA2OUT = PA^2;
sbit PA3OUT = PA^3;
sbit PA4OUT = PA^4;
sbit PA5OUT = PA^5;
sbit PA6OUT = PA^6;
sbit PA7OUT = PA^7;
报错这样不行是不是这个和老风格哪里寄存器不一样呢 wanli 发表于 2026-5-23 17:39
sbit PA0OUT = PA^0;
sbit PA1OUT = PA^1;
sbit PA ...
PA不支持按位寻址 soma 发表于 2026-5-23 17:47
PA不支持按位寻址
哪我让 PA0 赋值到LED1 PA1 赋值到LED2 让LED点亮 熄灭应该怎样单独编写呢{:zhemo:} wanli 发表于 2026-5-24 11:16
哪我让 PA0 赋值到LED1 PA1 赋值到LED2 让LED点亮 熄灭应该怎样单独编写呢
#define LED1_ON() PAOUT |= 0x01;
#define LED1_OFF()PAOUT &= ~0x01;
其实它的数据手册有相关扩展IO的寄存器说明,建议先看看。 ercircle 发表于 2026-5-24 15:43
#define LED1_ON() PAOUT |= 0x01;
#define LED1_OFF()PAOUT &= ~0x01;
你这个会报错的
用这个
#define SET_PA0() PASETB = 0x01//PA0 = 1
#define CLR_PA0() PACLRB = 0x01//PA0 = 0
#define SET_PA2() PASETB = 0x04//PA2 = 1
#define CLR_PA2() PACLRB = 0x04//PA2 = 0
angmall 发表于 2026-5-25 10:36
你这个会报错的
报什么错?
ercircle 发表于 2026-5-25 10:47
报什么错?
直接对P8OUT与或操作不是原子操作(有些人不懂可能会产生错误,特别是中断与主循环中都使用),所以设置了P8SETB P8CLRB寄存器,这是原子操作,不会问题,学ARM核的搞法
页:
[1]
2