你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

请教STM8S位操作的问题.谢谢

[复制链接]
sincomaster 提问时间:2018-8-1 17:46 /
本帖最后由 sincomaster 于 2018-8-4 09:00 编辑

看到别人可以进行位操作,我自己试却有错误,请知道的坛友回下,谢谢

别人的示例可以这样写:
PB_CR1_C11 = 1;
CLK_CCOR_CCOEN = 1;

我包含了stm8s.h也不行,提示左值错误.

请问要包含哪些文件才可以呢,还是哪里设置不对??????

谢谢大家了.
2018-08-01_171725.jpg
收藏 评论15 发布时间:2018-8-1 17:46

举报

15个回答
stm1024 回答时间:2018-8-1 18:50:11
stm8的位操作我没试过,不过stm32的我倒是用过。
你可以试试跟踪到CLK_CCOR_CCOEN 的declaration,看看它是用户自定义的,还是在某个头文件中包含的?

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

wenyangzeng 回答时间:2018-8-1 19:22:30
stm1024 发表于 2018-8-1 18:50
stm8的位操作我没试过,不过stm32的我倒是用过。
你可以试试跟踪到CLK_CCOR_CCOEN 的declaration,看看它是 ...

应该是楼主粗心了:这个PB_CR1_C11 = 1;
应该是:
PB_CR1_C1 |= 1;
不是11呀。那个布尔运算符“|“怎么能看成数组”1“呢?
sincomaster 回答时间:2018-8-1 23:24:35
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
2018-08-01_231846.png
sincomaster 回答时间:2018-8-1 23:31:27
本帖最后由 sincomaster 于 2018-8-1 23:32 编辑
stm1024 发表于 2018-8-1 18:50
stm8的位操作我没试过,不过stm32的我倒是用过。
你可以试试跟踪到CLK_CCOR_CCOEN 的declaration,看看它是 ...

谢谢新手还不明白什么是跟踪到CLK_CCOR_CCOEN 的declaration,[img][/img]
不明白别人有这样用,我怎么就用不了,stm8s.h 内有定义的呀
2018-08-01_233016.png
feixiang20 回答时间:2018-8-2 01:39:15
自定义一般这样吧
        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;
}

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

sincomaster 回答时间:2018-8-2 08:50:32
feixiang20 发表于 2018-8-2 01:39
自定义一般这样吧
        PC_DDR_DDR1=0;//S_Tx
PC_CR1_C11=1; ////PULL-UP-INPUT

大神,这样写要包含什么头文件呀,我的为什么会报错呢,请您回复一下,谢谢啦
wenyangzeng 回答时间:2018-8-2 09:27:16
sincomaster 发表于 2018-8-1 23:24
谢谢回答,STDBOOL.H是我想看是不是少加了,C11我没写错,请看下方的RM0016

如果要置位PB_CR1的D1位,应该是PB_CR1 |=0X02。

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

skyi 回答时间:2018-8-2 09:29:07
首先,看你的贴图宏定义的是常量,楼主你这么写肯定出错,应该是找宏定义是指针类型的寄存器来配置。

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

toofree 回答时间:2018-8-2 10:07:26
本帖最后由 toofree 于 2018-8-2 10:09 编辑

没这么玩的吧,

位是这么操作的
傲游截图20180802100710.png

看一下,这个是怎么定义的。不可能给宏定义的常量赋值吧
傲游截图20180802100827.png



评分

参与人数 2ST金币 +1 蝴蝶豆 +4 收起 理由
zero99 + 4
sincomaster + 1 谢谢.FunctionalState这个是枚举类型也看了.

查看全部评分

12下一页
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版