MC9S12C64MFA 端口T设置问题 MC9S12C64MFA,Code Warrior 5.9.0,汇编语言编码。 我正在设置端口 T,但我不确定我是否做得正确。以下是我想要实现的目标: PT0 用于电磁阀的 PWM 控制。 PT3 是通用输出。 PT1、2、4、5、6、7均为输出比较通道。所有这些都在端口控制之下,并且启用比较匹配中断。当我加载输出比较值时,我会将相关引脚设置为适当的状态。当匹配发生并且触发中断时,我将在 ISR 中将引脚设置为适当的状态。 以下是我目前所掌握的信息: movb #$FF,DDRT ; 所有引脚输出 movb #$01,MODRR ;PWM 控制在 PT0 上,PT1,2,3 在定时器控制上 movw #$0000,TCTL1 ;所有引脚均受端口控制 movb #$F6,TIOS ; PT1,2,4,5,6,7 的输出比较 movb #$01,PWME ; PT0 上的 PWM 控制 这应该可行吗? 此致, Robert 回复:MC9S12C64MFA 端口 T 设置问题 游戏模式和活动包括团队游戏、生存淘汰赛和季节性锦标赛Planet Clicker 3 Online。 回复:MC9S12C64MFA 端口 T 设置问题 天哪,我肯定错了!非常感谢您的详细解释。一旦我的 PCB 完成,我就会尝试一下。 此致, Robert 回复:MC9S12C64MFA 端口 T 设置问题 Hi,
我尝试过不经测试就做到这一点。你可以比较一下。
如果启用了替代功能(来自 GPIO 的另一个功能),则它优先于优先级较低的引脚上所有启用的外设。优先级从引脚描述表中的 GPIO(最低)开始。
当你断开 TIM 与引脚的连接并希望通过 SW 控制它们作为输出时 在中断中(不是通过自动 OC 功能),您必须将其设置为 GPIO 输出模式。
// 设置端口 PTT = ; // 最好先在引脚上设置初始值 // 它从输入(默认)切换到输出 DDRT = 0xFE; //引脚7、6、5、4、2、1由SW驱动,引脚0由PWM驱动 // 引脚 3 在 GPIO 模式下也输出
//选择引脚连接 MODRR = 0B00000001 //TIM,TIM,TIM,TIM,GPIO,TIM,TIM,PWM
// 选择 TIM 函数 TCTL1 = 0x00; // TIM 与引脚断开,值将手动设置 TIOS = 0xFE //TIM通道7,6,5,4,3,2,1处于OC功能
//设置PWM参数,周期,占空比,极性
....
// 设置 TIM 参数.. 预调器、周期、OC 值
....
// 启用 TIM 中断 TIE = 0B11100110; // 启用通道 7,6,5,4, 2,1 的 TIM 中断
//全局启用中断 asm 命令行界面
// 运行计时器,设置调试可能性,为 TIM 设置快速标志清除 TSCR1 = 0xF0; // TEN 运行定时器;(TSWAI、TSFRZ)-设置良好 // 能够调试;快速 TIM 标志清除,x,x,x,x
//运行PWM_0 PWME = 0x01; // 在 PT0 运行 PWM0
顺祝商祺!
Ladislav
查看全文