关于stm32中u8stm32 定义变量 sdram的变量值为0时,提示警告的问题,怎么解决

STM32F习题与答案_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
STM32F习题与答案
上传于||暂无简介
阅读已结束,如果下载本文需要使用2下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩16页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢21ic官方微信-->
后使用快捷导航没有帐号?
查看: 3242|回复: 16
想把一个u8变量的某一位赋值给一个GPIO怎么办
&&未结帖(10)
主题帖子积分
初级技术员, 积分 63, 距离下一级还需 37 积分
初级技术员, 积分 63, 距离下一级还需 37 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
初级技术员, 积分 63, 距离下一级还需 37 积分
初级技术员, 积分 63, 距离下一级还需 37 积分
stm32用并行信号驱动一个液晶屏,一个u8变量赋给几个GPIO口,一个GPIO对应其中的一位
主题帖子积分
中级工程师, 积分 3328, 距离下一级还需 1672 积分
中级工程师, 积分 3328, 距离下一级还需 1672 积分
主题帖子积分
专家等级:结帖率:16%
主题帖子积分
中级工程师, 积分 3328, 距离下一级还需 1672 积分
中级工程师, 积分 3328, 距离下一级还需 1672 积分
GPIOE-&ODR = 0这是把GPIOE全部设置为1,&&你的问题可以解决了么?
我在背后默默的看着你 默默的看着你渐去渐远渐无影
主题帖子积分
初级技术员, 积分 63, 距离下一级还需 37 积分
初级技术员, 积分 63, 距离下一级还需 37 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
初级技术员, 积分 63, 距离下一级还需 37 积分
初级技术员, 积分 63, 距离下一级还需 37 积分
清风致影 发表于
GPIOE-&ODR = 0这是把GPIOE全部设置为1,&&你的问题可以解决了么?
NO,我现在有一个u8的数据,用八个GPIO并行的表示出来,传出去
主题帖子积分
中级工程师, 积分 3328, 距离下一级还需 1672 积分
中级工程师, 积分 3328, 距离下一级还需 1672 积分
主题帖子积分
专家等级:结帖率:16%
主题帖子积分
中级工程师, 积分 3328, 距离下一级还需 1672 积分
中级工程师, 积分 3328, 距离下一级还需 1672 积分
Robert_zheng 发表于
NO,我现在有一个u8的数据,用八个GPIO并行的表示出来,传出去
。。。。。晕& &可以置位16个GPIO&&就不能想办法置位8个GPIO么。。。。
我在背后默默的看着你 默默的看着你渐去渐远渐无影
主题帖子积分
初级技术员, 积分 63, 距离下一级还需 37 积分
初级技术员, 积分 63, 距离下一级还需 37 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
初级技术员, 积分 63, 距离下一级还需 37 积分
初级技术员, 积分 63, 距离下一级还需 37 积分
清风致影 发表于
。。。。。晕& &可以置位16个GPIO&&就不能想办法置位8个GPIO么。。。。
u8 有0有1啊,而且,八个GPIO不全是一起的,有的在A,有的在B,E。有个GPIO_WriteBit(),就是不知道怎么把u8 的某一位提取出来一个BIT数据。
主题帖子积分
初级工程师, 积分 2353, 距离下一级还需 647 积分
初级工程师, 积分 2353, 距离下一级还需 647 积分
主题帖子积分
专家等级:结帖率:96%
主题帖子积分
初级工程师, 积分 2353, 距离下一级还需 647 积分
初级工程师, 积分 2353, 距离下一级还需 647 积分
很简单.....用一个16位的变量读出来....把需要的8位置零,然后或上去.....就OK了嘛
努力学习,积极回复,只为申请版主.......
主题帖子积分
初级工程师, 积分 2353, 距离下一级还需 647 积分
初级工程师, 积分 2353, 距离下一级还需 647 积分
主题帖子积分
专家等级:结帖率:96%
主题帖子积分
初级工程师, 积分 2353, 距离下一级还需 647 积分
初级工程师, 积分 2353, 距离下一级还需 647 积分
写成C语言就是:
a = GPIOE-&ODR;//假如是后8位
a = a &0XFF00;
b = 0;//需要的赋的值
GPIOE-&ODR =
努力学习,积极回复,只为申请版主.......
主题帖子积分
初级工程师, 积分 2353, 距离下一级还需 647 积分
初级工程师, 积分 2353, 距离下一级还需 647 积分
主题帖子积分
专家等级:结帖率:96%
主题帖子积分
初级工程师, 积分 2353, 距离下一级还需 647 积分
初级工程师, 积分 2353, 距离下一级还需 647 积分
本帖最后由 Rain_King 于
14:57 编辑
之所以要a来过度,大家都懂得...............如果是其他位,就需要移位.....如果是不连续的.....呃,还是一位一位的来吧..............
努力学习,积极回复,只为申请版主.......
主题帖子积分
初级技术员, 积分 63, 距离下一级还需 37 积分
初级技术员, 积分 63, 距离下一级还需 37 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
初级技术员, 积分 63, 距离下一级还需 37 积分
初级技术员, 积分 63, 距离下一级还需 37 积分
Rain_King 发表于
之所以要a来过度,大家都懂得...............如果是其他位,就需要移位.....如果是不连续的.....呃,还是一 ...
你的意思我大概明白了,但是我想库函数既然有现成的GPIO_WriteBit(),把u8分成8个bit数据,写个八次,这样会不会简单一点,后面的人看起来也会比较容易明白。
主题帖子积分
初级技术员, 积分 63, 距离下一级还需 37 积分
初级技术员, 积分 63, 距离下一级还需 37 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
初级技术员, 积分 63, 距离下一级还需 37 积分
初级技术员, 积分 63, 距离下一级还需 37 积分
Robert_zheng 发表于
你的意思我大概明白了,但是我想库函数既然有现成的GPIO_WriteBit(),把u8分成8个bit数据,写个八次,这样 ...
定义一个联合体,由8个bit变量组成,在赋一下u8变量的地址,行不行。
主题帖子积分
初级工程师, 积分 2353, 距离下一级还需 647 积分
初级工程师, 积分 2353, 距离下一级还需 647 积分
主题帖子积分
专家等级:结帖率:96%
主题帖子积分
初级工程师, 积分 2353, 距离下一级还需 647 积分
初级工程师, 积分 2353, 距离下一级还需 647 积分
Robert_zheng 发表于
定义一个联合体,由8个bit变量组成,在赋一下u8变量的地址,行不行。
我还以为,你是想如何快速搞定....不讲效率啊....那就随便啦,可以使用位域,或者直接调用库.........都可以
努力学习,积极回复,只为申请版主.......
主题帖子积分
助理工程师, 积分 1617, 距离下一级还需 383 积分
助理工程师, 积分 1617, 距离下一级还需 383 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
助理工程师, 积分 1617, 距离下一级还需 383 积分
助理工程师, 积分 1617, 距离下一级还需 383 积分
可以使用位带操作。
分别为u8变量的每一位,以及你用到的GPIO口(用ODR寄存器)定义一个别名。
赋值的时候,直接把u8某一位的别名赋值给对应的GPIO口的别名就可以了。
速度也比用库函数快。
主题帖子积分
助理工程师, 积分 1159, 距离下一级还需 841 积分
助理工程师, 积分 1159, 距离下一级还需 841 积分
主题帖子积分
专家等级:结帖率:100%
主题帖子积分
助理工程师, 积分 1159, 距离下一级还需 841 积分
助理工程师, 积分 1159, 距离下一级还需 841 积分
移位赋值吧·
主题帖子积分
中级技术员, 积分 169, 距离下一级还需 131 积分
中级技术员, 积分 169, 距离下一级还需 131 积分
主题帖子积分
专家等级:结帖率:100%
主题帖子积分
中级技术员, 积分 169, 距离下一级还需 131 积分
中级技术员, 积分 169, 距离下一级还需 131 积分
Rain_King 发表于
写成C语言就是:
GPIOE-&BSRR = 0x00FF0000 |& && &//这样GPIOE的低8位就是你要的结果,高8位不变
主题帖子积分
中级技术员, 积分 169, 距离下一级还需 131 积分
中级技术员, 积分 169, 距离下一级还需 131 积分
主题帖子积分
专家等级:结帖率:100%
主题帖子积分
中级技术员, 积分 169, 距离下一级还需 131 积分
中级技术员, 积分 169, 距离下一级还需 131 积分
可以使用端口的BSRR寄存器啊
主题帖子积分
主题帖子积分
专家等级:结帖率:100%打赏:0.00受赏:37.00
主题帖子积分
Robert_zheng 发表于
u8 有0有1啊,而且,八个GPIO不全是一起的,有的在A,有的在B,E。有个GPIO_WriteBit(),就是不知道怎 ...
不同的端口,只能位指令了;
主题帖子积分
技术总监, 积分 30702, 距离下一级还需 19298 积分
技术总监, 积分 30702, 距离下一级还需 19298 积分
主题帖子积分
专家等级:结帖率:94%
主题帖子积分
技术总监, 积分 30702, 距离下一级还需 19298 积分
技术总监, 积分 30702, 距离下一级还需 19298 积分
Flash这么大,主频这么高,最笨的方法可能就是最靠谱的方法:
if(dat & (1&&0))
& &GPIO_SetBits(Port_LCD_SCL, Pin_LCD_SCL);
& &GPIO_ResetBits(Port_LCD_SCL, Pin_LCD_SCL);
if(dat & (1&&1))
& &GPIO_SetBits(Port_LCD_SDA, Pin_LCD_SDA);
& &GPIO_ResetBits(Port_LCD_SDA, Pin_LCD_SDA);
技术新星奖章
人才类勋章
时间类勋章
精华达人奖章
等级类勋章
湍急之河流
发帖类勋章
时间类勋章
技术奇才奖章
人才类勋章
时间类勋章
欢快之小溪
发帖类勋章
希望之星奖章
等级类勋章
时间类勋章
技术领袖奖章
人才类勋章
时间类勋章
坚毅之洋流
发帖类勋章
荣誉元老奖章
等级类勋章

我要回帖

更多关于 stm32 u16 u8 转换 的文章

 

随机推荐