查看: 2896|回复: 3

[MPC] mpc563x 问题

[复制链接]

该用户从未签到

10

主题

64

帖子

0

注册会员

Rank: 2

积分
176
最后登录
2021-6-16
发表于 2013-4-28 23:56:59 | 显示全部楼层 |阅读模式
各位高手、高高手,请教两个关于MPC563X的使用问题:
一、例程里边的ETPU代码
const uint32_t etpu_globals[] = { 0x00,0x00,0x00,0xFF};
const uint32_t etpu_code[] = {省去一堆0xxxxxxxxx};这个是用什么工具,怎样生成的?
二、例程里边的IC功能
int32_t fs_etpu_ic_read_trans_count(uint8_t channel)
{
    return( fs_etpu_get_chan_local_24s(channel,    ETPU_IC_TRANSCOUNT_OFFSET));
}
通道初始化好,用这个函数填入相应通道读两个脉冲上升/下降沿之间的计数值,怎么就读不到?
请赐教!
我知道答案 目前已有2人回答
回复

使用道具 举报

该用户从未签到

3

主题

44

帖子

0

中级会员

Rank: 3Rank: 3

积分
402
最后登录
2020-9-27
发表于 2013-5-13 15:09:05 | 显示全部楼层

RE:mpc563x 问题

eTPU的IC功能,一方面要检查你的eTPU的代码是否已经包含了IC的部分。另一方面,只完成IC功能的话,不要用int32_t fs_etpu_ic_read_trans_count(uint8_t channel)函数。
要用:error_code =
        fs_etpu_ic_init (16,
                          FS_ETPU_PRIORITY_MIDDLE,
                          ETPU_IC_MODE_CONT,
                          FS_ETPU_TCR1,
                          ETPU_IC_ANY_EDGE,
                          1);   
就能自动中断,你可以在中断内计数。
回复 支持 反对

使用道具 举报

该用户从未签到

10

主题

64

帖子

0

注册会员

Rank: 2

积分
176
最后登录
2021-6-16
 楼主| 发表于 2013-5-15 16:28:27 | 显示全部楼层

回复:mpc563x 问题

回复第 2 楼 于2013-05-13 23:09:05发表:
eTPU的IC功能,一方面要检查你的eTPU的代码是否已经包含了IC的部分。另一方面,只完成IC功能的话,不要用int32_t fs_etpu_ic_read_trans_count(uint8_t channel)函数。
要用:error_code =
fs_etpu_ic_init (16,
FS_ETPU_PRIORITY_MIDDLE,
ETPU_IC_MODE_CONT,
FS_ETPU_TCR1,
ETPU_IC_ANY_EDGE,
1);
就能自动中断,你可以在中断内计数。 

这个函数的功能只是初始化一个通道为IC功能吧,例程中还有两个函数:fs_last_time(channel)和fs_final_time(channel),应该是读两个跳变沿之间的时间(即周期),但是读出来的值不对,不知道哪里的原因。
感谢您的解答!
回复 支持 反对

使用道具 举报

该用户从未签到

3

主题

44

帖子

0

中级会员

Rank: 3Rank: 3

积分
402
最后登录
2020-9-27
发表于 2013-5-21 11:37:44 | 显示全部楼层

RE:mpc563x 问题

你没有真正理解这两个时间的意思,请仔细阅读eTPU IC文档,实在弄不明白,不用要这两个函数,直接到中断里面去计算吧,简单方便。
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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

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

GMT+8, 2025-7-17 19:27 , Processed in 0.091937 second(s), 24 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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