请教STM8S位操作的问题.谢谢
本帖最后由 sincomaster 于 2018-8-4 09:00 编辑看到别人可以进行位操作,我自己试却有错误,请知道的坛友回下,谢谢
别人的示例可以这样写:
PB_CR1_C11 = 1;
CLK_CCOR_CCOEN = 1;
我包含了stm8s.h也不行,提示左值错误.
请问要包含哪些文件才可以呢,还是哪里设置不对??????
谢谢大家了.
stm8的位操作我没试过,不过stm32的我倒是用过。
你可以试试跟踪到CLK_CCOR_CCOEN 的declaration,看看它是用户自定义的,还是在某个头文件中包含的? stm1024 发表于 2018-8-1 18:50
stm8的位操作我没试过,不过stm32的我倒是用过。
你可以试试跟踪到CLK_CCOR_CCOEN 的declaration,看看它是 ...
应该是楼主粗心了:这个PB_CR1_C11 = 1;
应该是:
PB_CR1_C1 |= 1;
不是11呀。那个布尔运算符“|“怎么能看成数组”1“呢? wenyangzeng 发表于 2018-8-1 19:22
应该是楼主粗心了:这个PB_CR1_C11 = 1;
应该是:
PB_CR1_C1 |= 1;
谢谢回答,STDBOOL.H是我想看是不是少加了,C11我没写错,请看下方的RM0016
C:\Users\sinco\Desktop\2018-08-01_231846.png 本帖最后由 sincomaster 于 2018-8-1 23:32 编辑
stm1024 发表于 2018-8-1 18:50
stm8的位操作我没试过,不过stm32的我倒是用过。
你可以试试跟踪到CLK_CCOR_CCOEN 的declaration,看看它是 ...
谢谢新手还不明白什么是跟踪到CLK_CCOR_CCOEN 的declaration,
不明白别人有这样用,我怎么就用不了,stm8s.h 内有定义的呀
自定义一般这样吧
PC_DDR_DDR1=0;//S_Tx
PC_CR1_C11=1; ////PULL-UP-INPUT
PC_CR2_C21=0; //
//S_Rx
PC_DDR_DDR1=0;//S_Rx
PC_CR1_C11=1; ////PULL-UP-INPUT
PC_CR2_C21=0; //
//S_BW10
PA_DDR_DDR1=0;//
PA_CR1_C11=1; ////PULL-UP-INPUT
PA_CR2_C21=0;
//S_BW62
PA_DDR_DDR2=0;//
PA_CR1_C12=1; ////PULL-UP-INPUT
PA_CR2_C22=0;
//S_BW125
PB_DDR_DDR3=0;//
PB_CR1_C13=1; ////PULL-UP-INPUT
PB_CR2_C23=0;
//S_FSK
PB_DDR_DDR7=0;//
PB_CR1_C17=1; ////PULL-UP-INPUT
PB_CR2_C27=0;
} feixiang20 发表于 2018-8-2 01:39
自定义一般这样吧
PC_DDR_DDR1=0;//S_Tx
PC_CR1_C11=1; ////PULL-UP-INPUT
大神,这样写要包含什么头文件呀,我的为什么会报错呢,请您回复一下,谢谢啦 sincomaster 发表于 2018-8-1 23:24
谢谢回答,STDBOOL.H是我想看是不是少加了,C11我没写错,请看下方的RM0016
如果要置位PB_CR1的D1位,应该是PB_CR1 |=0X02。 首先,看你的贴图宏定义的是常量,楼主你这么写肯定出错,应该是找宏定义是指针类型的寄存器来配置。 本帖最后由 toofree 于 2018-8-2 10:09 编辑
没这么玩的吧,
位是这么操作的
看一下,这个是怎么定义的。不可能给宏定义的常量赋值吧
页:
[1]
2