金牌会员
- 积分
- 1210
- 威望
- 599
- 贡献
- 333
- 兑换币
- 298
- 注册时间
- 2013-1-11
- 在线时间
- 139 小时
- 毕业学校
- 东华大学
|
野火 发表于 2013-4-3 08:14
PIT0的中断向量号 -16
PIT0 的中断向量号是 84 ,即 84 - 16
火哥 求助 按照你教程里的操作 LPT 为什么最后出来的脉冲值是0个那?我PTC5和PTA8短接了啊
37. #define INT_COUNT 100 //LPT 产生中断的计数次数
38. void main(void)
39. {
40. u16 count;
41.
42. DisableInterrupts; //禁止总中断
43.
44. FTM_PWM_init(FTM1,CH0,100,50);
45. //FTM 模块产生PWM,用 FTM1_CH0 ,即 PTA8 ,频率为 100
46.
47. lptmr_counter_init(LPT0_ALT2,INT_COUNT,2,LPT_Rising);
48. //初始化脉冲计数器,用LPT0_ALT2,即PTC5 输入,
49. //每隔INT_COUNT 产生中断,延时2 个时钟滤波,上升沿触发
50. EnableInterrupts; //开总中断
51.
52. while(1)
53. {
54. if( LPT_INT_count > 0 )
55. {
56. count = LPTMR0_CNR; //保存脉冲计数器计算值
57. lptmr_counter_clean();
58. //清空脉冲计数器计算值(马上清空,这样才能保证计数值准确)
59. printf("LPT 产生一次中断啦:%d\n",LPT_INT_count*INT_COUNT + count);
60. //打印计数值
61. LPT_INT_count = 0; //清空LPT 中断次数
62. }
63. }
|
|