智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1079|回复: 1
打印 上一主题 下一主题

电磁组,求大神帮看看这段代码有没有问题

[复制链接]

16

主题

746

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4951
威望
2517
贡献
1610
兑换币
1718
注册时间
2013-12-12
在线时间
412 小时
跳转到指定楼层
1#
发表于 2014-5-12 14:28:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
作用,PIT中断定时读取脉冲累加器寄存器的值,现已测得PT7口有正常脉冲信号,我检查后发现好像是中断没进去,这段代码以前也用过,但是我加了CD4520后读取不到值了,但是我加上CD4520后并没有用。
void PIT_init(){

  PITCFLMT = 0x00;      //禁止PIT模块
  PITCE_PCE0 = 1;       //使能定时器通道0
  PITMUX = 0x00;        //定时器0使用微定时基准0
  PITMTLD0 = 0xc8;      // 8位微定时器装载初值
  PITLD0 = 0x07d0;      // 16位定时器装载初值,,设置定时时间为5毫秒
  //PITLD0 = 0x0fa0;    // 16位定时器装载初值,,设置定时时间为10毫秒
  PITINTE = 0x01;       // 使能PIT定时器通道0中断
  PITCFLMT = 0x80;      //使能PIT模块
}
void PAC_init(){

  PACTL_PAEN = 0;       //禁止脉冲累加器
  PACNT = 0x0000;       //脉冲累加器寄存器清零
  PACTL_PAMOD = 0;      
  PACTL_PEDGE = 1;      //上升沿
  PACTL_PAEN = 1;       //使能脉冲累加器
}

#pragma CODE_SEG __NEAR_SEG NON_BANKED
interrupt VectorNumber_Vpit0 void PIT_ISR(void){

  PITTF_PTF0 = 1;      //清PIT中断标志
  
  MC_PACNT = PACNT;    //读取脉冲累加器的值
  PACNT = 0x0000;      //脉冲累加器清零
  PORTB = 0xff;
}
#pragma CODE_SEG DEFAULT
回复

使用道具 举报

24

主题

1176

帖子

0

精华

常驻嘉宾

车屌

Rank: 8Rank: 8

积分
3652

活跃会员奖章优秀会员奖章在线王奖章论坛元老奖章

威望
1680
贡献
1026
兑换币
1070
注册时间
2013-3-5
在线时间
473 小时
2#
发表于 2014-5-12 14:52:47 | 只看该作者
上程序是一个不明智的选择,
回复 支持 反对

使用道具 举报

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

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-11-7 00:33 , Processed in 0.039736 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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