查看: 2870|回复: 2

[其他] MC9S12G128单片机输出不正常

[复制链接]

该用户从未签到

5

主题

13

帖子

0

注册会员

Rank: 2

积分
53
最后登录
2019-10-31
发表于 2019-10-29 10:18:10 | 显示全部楼层 |阅读模式
MC9S12G128,这个单片机只要普通的定时器使能打开,不管PJ4端口配置为输入还是输出,PJ4端口变为2.6v,别的引脚不受影响,但是用Real time定时器,PJ4端口输出正常也是5v

void initialize_TIM(void){
  TSCR1_TFFCA = 1;  // 定时器标志位快速清除
  TSCR1_TEN = 1;    // 定时器使能位. 1=允许定时器正常工作; 0=使主定时器不起作用(包括计数器)
  TIOS  = 0xff;      //指定所有通道为输出比较方式
  TCTL1 = 0x00;        // 后四个通道设置为定时器与输出引脚断开
  TCTL2 = 0x00;     // 前四个通道设置为定时器与输出引脚断开
  TIE   = 0x01;     // 允许通道0定时中断
  TSCR2 = 0x07;        // 预分频系数pr2-pr0:110,时钟周期为4us,
  TFLG1 = 0xff;        // 清除各IC/OC中断标志位
  TFLG2 = 0xff;     // 清除自由定时器中断标志位
}  


//传感器1中断配置
      IO_CGQ1_DIR=0;
      PPSJ |= 0x00;              //极性选择寄存器,选择下降沿;
      PIFJ |= 0x10;                    //对PIFJ的每一位写1来清除标志位;
      PIEJ |= 0x10;              //中断使能寄存器;
      PERJ_PERJ4=1;
我知道答案 目前已有2人回答
回复

使用道具 举报

该用户从未签到

5

主题

13

帖子

0

注册会员

Rank: 2

积分
53
最后登录
2019-10-31
 楼主| 发表于 2019-10-29 10:21:31 | 显示全部楼层
//16ms定时器
    CPMUINT  &=~(0x80);
    CPMUFLG  &=~(0x80);
    CPMURTI  |= 0x10;     //   0x10
    CPMURTI  |= (16-1);
    //CPMUINT  |=0x80;
    CPMUINT_RTIE = 1;//RTI定时器打开
用这个定时器的时候,PJ4端口不受影响
回复 支持 反对

使用道具 举报

该用户从未签到

5

主题

13

帖子

0

注册会员

Rank: 2

积分
53
最后登录
2019-10-31
 楼主| 发表于 2019-10-29 10:22:03 | 显示全部楼层
liufeng2801 发表于 2019-10-29 10:21
//16ms定时器
    CPMUINT  &=~(0x80);
    CPMUFLG  &=~(0x80);

用这个定时器,PJ4端口输出正常
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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

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

GMT+8, 2025-7-23 13:52 , Processed in 0.086125 second(s), 23 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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