OpenEdv-开源电子网

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

#define SPIT_FLAG_TIMEOUT ((uint32_t)0x1000) 有大佬能给讲一下这个宏定义后面()里的内容代表什么意思吗?

[复制链接]

15

主题

36

帖子

0

精华

初级会员

Rank: 2

积分
76
金钱
76
注册时间
2023-3-20
在线时间
26 小时
发表于 2023-8-15 09:33:07 | 显示全部楼层 |阅读模式
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

451

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3316
金钱
3316
注册时间
2016-3-19
在线时间
815 小时
发表于 2023-8-15 09:33:08 | 显示全部楼层
实际上就是 0x1000  然后强制类型转换 uint32_t
回复

使用道具 举报

10

主题

3281

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8206
金钱
8206
注册时间
2020-5-11
在线时间
3700 小时
发表于 2023-8-15 10:28:29 | 显示全部楼层
强制类型转换
专治疑难杂症
回复

使用道具 举报

15

主题

36

帖子

0

精华

初级会员

Rank: 2

积分
76
金钱
76
注册时间
2023-3-20
在线时间
26 小时
 楼主| 发表于 2023-8-15 17:03:16 | 显示全部楼层
unnormal 发表于 2023-8-15 10:41
实际上就是 0x1000  然后强制类型转换 uint32_t

谢谢
回复

使用道具 举报

0

主题

451

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3316
金钱
3316
注册时间
2016-3-19
在线时间
815 小时
发表于 2023-8-16 07:22:24 | 显示全部楼层
Nothing is impossible
回复

使用道具 举报

5

主题

61

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
442
金钱
442
注册时间
2021-11-22
在线时间
141 小时
发表于 2023-8-16 10:23:58 | 显示全部楼层
unnormal 发表于 2023-8-15 09:33
实际上就是 0x1000  然后强制类型转换 uint32_t

就是因为是32位的单片机,强转为32位好操作对吗?
我见很多返回型的数据都是这样操作
回复

使用道具 举报

0

主题

451

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3316
金钱
3316
注册时间
2016-3-19
在线时间
815 小时
发表于 2023-8-16 10:42:56 | 显示全部楼层
1759817440 发表于 2023-8-16 10:23
就是因为是32位的单片机,强转为32位好操作对吗?
我见很多返回型的数据都是这样操作

只是相对而言

从汇编角度去分析

32位的单片机   r0~r15 ...  等等都是32位

操作最直接

返回值 基本上都是  r0

这是我想到的   不全请高手补充一下
Nothing is impossible
回复

使用道具 举报

5

主题

61

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
442
金钱
442
注册时间
2021-11-22
在线时间
141 小时
发表于 2023-8-16 10:53:50 | 显示全部楼层
unnormal 发表于 2023-8-16 10:42
只是相对而言

从汇编角度去分析

我看到好多函数返回值都是用uint32的,但是函数本身也就是返回1或者0
那直接用uint8不好吗。。
我一直都有这个疑问,借此机会请教一下
回复

使用道具 举报

0

主题

451

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3316
金钱
3316
注册时间
2016-3-19
在线时间
815 小时
发表于 2023-8-16 11:33:46 | 显示全部楼层
1759817440 发表于 2023-8-16 10:53
我看到好多函数返回值都是用uint32的,但是函数本身也就是返回1或者0
那直接用uint8不好吗。。
我一直 ...

其实不必纠结这个问题

如果您真的想弄明白的话  您可以写一个最简单的程序  入参和返回值分别 使用 uint8_t 和 uint32_t  使用keil仿真  然后查看一下汇编    理论上来说  汇编程序是一样的

如果对汇编不感兴趣的话   仅仅是使用C语言写程序   对于返回 1 和 0 的情况   您可以看心情   看着哪个心情好   就使用哪个类型返回   基本不会有影响的
Nothing is impossible
回复

使用道具 举报

5

主题

61

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
442
金钱
442
注册时间
2021-11-22
在线时间
141 小时
发表于 2023-8-16 13:21:23 | 显示全部楼层
unnormal 发表于 2023-8-16 11:33
其实不必纠结这个问题

如果您真的想弄明白的话  您可以写一个最简单的程序  入参和返回值分别 使用 ui ...

好的,谢谢
回复

使用道具 举报

0

主题

451

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3316
金钱
3316
注册时间
2016-3-19
在线时间
815 小时
发表于 2023-8-16 16:16:05 | 显示全部楼层

不客气
Nothing is impossible
回复

使用道具 举报

233

主题

957

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1790
金钱
1790
注册时间
2011-10-9
在线时间
222 小时
发表于 2023-8-16 17:21:48 | 显示全部楼层
1759817440 发表于 2023-8-16 10:53
我看到好多函数返回值都是用uint32的,但是函数本身也就是返回1或者0
那直接用uint8不好吗。。
我一直 ...

以前经常根据取值范围 定义u8 u16 u32 实际是为了省内存,那个时候的单片机才1K 内存 少的才几百字节。  但是现在的32单片机动不动就几十K 甚至上百K  . 所以现在我都懒了,动不动就定义U32 不容易超标。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-24 01:42

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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