打印
[STM8]

请教:如何设置keilc中的变量为低字节在前

[复制链接]
671|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
aacode|  楼主 | 2020-12-30 16:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
可实现下面的功能:

         U8  c[2]={0};
         U16 ival=0;

         c[0]=0x02;
         c[1]=0x01;
         ival= *(U16 *)&c[0];     

       // 实际结果: ival 的值为0x0201     (高位在前)

       // 期望结果: ival 的值为0x0102     (低位在前)

使用特权

评论回复
沙发
sonicll| | 2020-12-30 16:52 | 只看该作者
这跟keil没有关系,是CPU架构的问题,STM8是大端模式

使用特权

评论回复
板凳
qn7a12| | 2020-12-31 15:00 | 只看该作者
STM8是大端模式就没有keil的事情了,是吗?

使用特权

评论回复
地板
airwill| | 2020-12-31 21:54 | 只看该作者
Keil C51 也是大端模式,  arm Cortex-M 系列是小端模式,  但是 Cortex-R 系列也是大端模式. 也可以用 Keil

使用特权

评论回复
5
晓伍| | 2021-1-11 15:22 | 只看该作者
不是通过keil能设置的

使用特权

评论回复
6
八层楼| | 2021-1-11 15:23 | 只看该作者
高低位谁在前是你自己定义的

使用特权

评论回复
7
观海| | 2021-1-11 15:25 | 只看该作者
不是大端模式的问题

使用特权

评论回复
8
guanjiaer| | 2021-1-11 15:28 | 只看该作者
这样会不会发生冲突呢

使用特权

评论回复
9
ayb_ice| | 2021-1-11 16:33 | 只看该作者
KEIL C51就是大端模式,与CPU关系不大(但有些CPU对某种模式有偏好,效率要稍高些),是编译器的行为(8位机更是如此)

使用特权

评论回复
10
aacode|  楼主 | 2021-3-19 17:00 | 只看该作者
如果可以在在keil中设置大端模式和小端模式就方便了,现在收到APP传来的数据都是小端模式,很多APP指令中的数据都要写代码交换高低字节。主要是mcu空间有点紧张。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

23

帖子

1

粉丝