OpenEdv-开源电子网

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

关于修改代码的问题,请求大佬帮忙看看。

[复制链接]

8

主题

31

帖子

0

精华

新手入门

积分
13
金钱
13
注册时间
2021-10-9
在线时间
57 小时
发表于 2022-9-21 19:53:34 | 显示全部楼层 |阅读模式
24金钱
本帖最后由 A1YCIA 于 2022-9-21 19:57 编辑

我的240128液晶接口db0到db7要从pa0到pa7,改成pb3到pb7和pc0到pc2,请问上面这两段代码要怎么改,求助。
#define  Dataout(a) ( GPIOA->ODR = ( (GPIOA->ODR&0XFF00)|((a|0x0000)) ) )       
#define  Datain() (uint8_t)(GPIOA->IDR)

102136laargoantndh9rxr.png
102136px0gg0gjzjbjtqzz.png
102146guww55bxq55fz5fd.png

最佳答案

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

babyrabbit[/backcolor]说得对,赋值语句了解一下,对GPIOB->ODR赋值该咋写? 可以先不用宏定义直接写,调试好了再改成宏定义。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

12

主题

3344

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8463
金钱
8463
注册时间
2020-5-11
在线时间
3904 小时
发表于 2022-9-21 19:53:35 | 显示全部楼层
A1YCIA 发表于 2022-9-22 15:37
//#define  Dataout(a) (((uint8_t)(GPIOB->ODR&0xFF00>>3)|((a|0x0000)))|((uint8_t)(GPIOC->ODR&0xFF00 ...

babyrabbit说得对,赋值语句了解一下,对GPIOB->ODR赋值该咋写?


可以先不用宏定义直接写,调试好了再改成宏定义。
专治疑难杂症
回复

使用道具 举报

12

主题

3344

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8463
金钱
8463
注册时间
2020-5-11
在线时间
3904 小时
发表于 2022-9-22 09:48:01 | 显示全部楼层
C语言的位运算了解一下
专治疑难杂症
回复

使用道具 举报

8

主题

31

帖子

0

精华

新手入门

积分
13
金钱
13
注册时间
2021-10-9
在线时间
57 小时
 楼主| 发表于 2022-9-22 15:37:54 | 显示全部楼层
LcwSwust 发表于 2022-9-22 09:48
C语言的位运算了解一下

//#define  Dataout(a) (((uint8_t)(GPIOB->ODR&0xFF00>>3)|((a|0x0000)))|((uint8_t)(GPIOC->ODR&0xFF00<<5))|((a|0x0000)))                                                                                                                                                                                                                                                                                                               
//#define  Datain() ((((uint8_t)(GPIOB->IDR))>>3)|(((uint8_t)(GPIOC->IDR))<<5))//(uint8_t)(GPIOA->IDR)
我尝试着改了但是没有效果,大佬可以帮我看看吗。
回复

使用道具 举报

16

主题

426

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2765
金钱
2765
注册时间
2018-11-8
在线时间
438 小时
发表于 2022-9-22 16:12:12 | 显示全部楼层
A1YCIA 发表于 2022-9-22 15:37
//#define  Dataout(a) (((uint8_t)(GPIOB->ODR&0xFF00>>3)|((a|0x0000)))|((uint8_t)(GPIOC->ODR&0xFF00 ...

你这个和1楼的 完全不一样啊……
像dataout 1楼是个赋值 你这就是一个值
回复

使用道具 举报

8

主题

31

帖子

0

精华

新手入门

积分
13
金钱
13
注册时间
2021-10-9
在线时间
57 小时
 楼主| 发表于 2022-9-24 18:45:17 | 显示全部楼层
LcwSwust 发表于 2022-9-23 18:36
babyrabbit说得对,赋值语句了解一下,对GPIOB->ODR赋值该咋写?

感谢大佬,直接在程序里调好了。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-26 03:54

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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