查看: 4002|回复: 4

[CodeWarrior] 关于CodeWarrior对于KL25 12位的DAC例程的困惑?

[复制链接]

该用户从未签到

32

主题

138

帖子

0

中级会员

Rank: 3Rank: 3

积分
390
最后登录
2017-12-29
发表于 2017-3-30 10:59:01 | 显示全部楼层 |阅读模式
本帖最后由 胡孟龙 于 2017-3-30 12:05 编辑

#define DATA_LENGTH 10                             /* Output data array length */
LDD_DAC_TData OutputData[DATA_LENGTH] = {          /* Output data array */
                                                 0x0, 0x1C71C71C,/*请问不是说好的12位的DAC吗,他这里赋值为何是32位的?*/
                                          0x38E38E38, 0x55555554,/*请问不是说好的12位的DAC吗,他这里赋值为何是32位的?*/
                                          0x71C71C70, 0x8E38E38C,/*请问不是说好的12位的DAC吗,他这里赋值为何是32位的?*/
                                          0xAAAAAAA8, 0xC71C71C4,/*请问不是说好的12位的DAC吗,他这里赋值为何是32位的?*/
                                          0xE38E38E0, 0xFFFFFFFC/*请问不是说好的12位的DAC吗,他这里赋值为何是32位的?*/
                                        };/*请问不是说好的12位的DAC吗,他这里赋值为何是32位的?*/
LDD_TError Error;
LDD_TDeviceData *MyDacPtr;

void main(void)
{
  ...
  MyDacPtr = DA1_Init(NULL);                                            /* Initialization of DA1 component */
  for (;;) {
    for (i = 0; i < DATA_LENGTH; i++) {
      Error = DA1_SetValue(MyDacPtr, OutputData);                    /* Set converter output */
    }
  }
}

** ===================================================================
** Global HAL types and constants
** ===================================================================
*/
typedef uint32_t LDD_TPinMask;         /*!< Pin mask type. */
typedef uint16_t LDD_TError;           /*!< Error type. */
typedef uint32_t LDD_TEventMask;       /*!< Event mask type. */
typedef uint8_t LDD_TClockConfiguration; /*!< CPU clock configuration type. */
/*下面这段程序不懂,typedef的作用不是声明新的类型名来代替原有的类型名吗?而下面这些关键字后为何只用一个类型名?*/

/*下面这段程序不懂,typedef的作用不是声明新的类型名来代替原有的类型名吗?而下面这些关键字后为何只用一个类型名?*/


typedef void LDD_TDeviceData;          /*!< Pointer to private device structure managed and used by HAL components. */
typedef void* LDD_TDeviceDataPtr;      /*!< Obsolete type for backward compatibility. */
typedef void LDD_TData;                /*!< General pointer to data. */
typedef void LDD_TUserData; /*!< Pointer to this type specifies the user or RTOS specific data will be passed as an event or callback parameter. */


我知道答案 目前已有4人回答
回复

使用道具 举报

该用户从未签到

723

主题

6382

帖子

0

超级版主

Rank: 8Rank: 8

积分
25494
最后登录
2025-9-9
发表于 2017-3-30 12:06:07 | 显示全部楼层
楼主你好!
这个只是定义而已,你看真正的函数:
51.jpg
是不是左移了20位?那么32-20是不是12位?

回复 支持 反对

使用道具 举报

该用户从未签到

32

主题

138

帖子

0

中级会员

Rank: 3Rank: 3

积分
390
最后登录
2017-12-29
 楼主| 发表于 2017-3-30 14:47:02 | 显示全部楼层
小恩GG 发表于 2017-3-30 12:06
楼主你好!
这个只是定义而已,你看真正的函数:

我看到这个了,但是为何要这么做呢?
回复 支持 反对

使用道具 举报

该用户从未签到

723

主题

6382

帖子

0

超级版主

Rank: 8Rank: 8

积分
25494
最后登录
2025-9-9
发表于 2017-3-30 14:59:08 | 显示全部楼层
胡孟龙 发表于 2017-3-30 14:47
我看到这个了,但是为何要这么做呢?

这个应该是PE的代码为了和其他芯片兼容,或者是为了扩展用。
PE的模块并不是只针对kl25的。
回复 支持 反对

使用道具 举报

该用户从未签到

32

主题

138

帖子

0

中级会员

Rank: 3Rank: 3

积分
390
最后登录
2017-12-29
 楼主| 发表于 2017-3-31 10:29:37 | 显示全部楼层
小恩GG 发表于 2017-3-30 14:59
这个应该是PE的代码为了和其他芯片兼容,或者是为了扩展用。
PE的模块并不是只针对kl25的。 ...

谢谢你的回复!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-9-11 13:40 , Processed in 0.105850 second(s), 26 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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