OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 8319|回复: 7

新手刚学STM32F1 求助如何进行位操作,以及如何将一个数据左移或右移几位

[复制链接]

2

主题

6

帖子

0

精华

新手上路

积分
44
金钱
44
注册时间
2015-8-10
在线时间
2 小时
发表于 2015-11-21 21:15:13 | 显示全部楼层 |阅读模式
5金钱
比如这个程序 51这么写的 我想改成STM32用的
void send_command(uchar command_data)
{
 uchar i;
uchar i_data;
i_data=0xf8;
 SCLK=0;
for(i=0;i<8;i++)
{
    SDA=(bit)(i_data&0x80);
    SCLK=0;
    SCLK=1;
    i_data=i_data<<1;
 }
}

我现在改成STM32用的了
void send_command(u8 command_data)
{
 u8 i;
 u8 i_data;
 i_data=0xf8;
 SCLK=0;
for(i=0;i<8;i++)
{
    SDA=(bit)(i_data&0x80);
    SCLK=0;
    SCLK=1;
    i_data=i_data<<1;
 }
}
不知道(bit)强制转换成位操作这么改,还有将i_data左移一位 i_data=i_data<<1  这么写可以吗? 求帮助!!!!

最佳答案

查看完整内容[请看2#楼]

位操作建议再去看看C的书吧,至于bit,32没有这个关键字,但可以用bool,其实位字段挺好用,百度或再看下书吧,不然后面步步艰辛
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

15

主题

786

帖子

5

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3223
金钱
3223
注册时间
2015-7-26
在线时间
811 小时
发表于 2015-11-21 21:15:14 | 显示全部楼层
位操作建议再去看看C的书吧,至于bit,32没有这个关键字,但可以用bool,其实位字段挺好用,百度或再看下书吧,不然后面步步艰辛
我的博客:http://blog.csdn.net/itdo_just
回复

使用道具 举报

3

主题

52

帖子

0

精华

初级会员

Rank: 2

积分
84
金钱
84
注册时间
2015-4-14
在线时间
0 小时
发表于 2015-11-21 23:11:44 | 显示全部楼层
1.STM32F1/F4这些都好象有位绑定功能的,把一个位和一个u32绑定,怎么绑的教程上应该有。
2.用位运算&,|,^,~,>>,<<实现,现在的很多muc都没位寻址的了,基本都得用位运算。
3.位域,可以实现像结构体那样去操作位。不过它的本质仍然是位运算。>
回复

使用道具 举报

11

主题

193

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
425
金钱
425
注册时间
2013-3-19
在线时间
20 小时
发表于 2015-11-22 20:55:37 | 显示全部楼层
程序你可以参考正点原子的程序,放着那么好的源代码和教程不去研究学习
回复

使用道具 举报

2

主题

6

帖子

0

精华

新手上路

积分
44
金钱
44
注册时间
2015-8-10
在线时间
2 小时
 楼主| 发表于 2015-11-22 21:47:51 | 显示全部楼层
回复【4楼】精神不死6530:
没什么东西,除了系统外基本看完了。自己写程序又碰见很多问题。
回复

使用道具 举报

2

主题

6

帖子

0

精华

新手上路

积分
44
金钱
44
注册时间
2015-8-10
在线时间
2 小时
 楼主| 发表于 2015-11-22 21:50:04 | 显示全部楼层
回复【2楼】229382777@qq.com:
---------------------------------
C语言应该没什么问题,之前一直弄51来着。就是刚转arm 有些位操作还是按之前51那么写 发现不能用。。。不知道arm使用位操作这样的书写规范
回复

使用道具 举报

2

主题

6

帖子

0

精华

新手上路

积分
44
金钱
44
注册时间
2015-8-10
在线时间
2 小时
 楼主| 发表于 2015-11-22 21:52:05 | 显示全部楼层
回复【3楼】chy712:
---------------------------------
唉,刚转ARM 各种蒙啊。。各种51移植不好使。。。郁闷
回复

使用道具 举报

11

主题

193

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
425
金钱
425
注册时间
2013-3-19
在线时间
20 小时
发表于 2015-11-24 09:57:25 | 显示全部楼层
回复【7楼】天使一般爱你:
---------------------------------
51和32差距还是很大的,当初我学完51,也是直接学32,很多理解不了,纠结一个多星期才适应。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-16 09:52

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表