找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1351|回复: 0
打印 上一主题 下一主题
收起左侧

K60 smartcar最终代码 学习资料

[复制链接]
跳转到指定楼层
楼主
ID:310648 发表于 2018-5-22 09:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
单片机源程序如下:
  1. void  main(void)
  2. {
  3.     u16 count;

  4.     DisableInterrupts;                                      //禁止总中断

  5.     FTM_PWM_init(FTM1, CH0, 100, 50);                       //FTM模块产生PWM,用 FTM1_CH0 ,即 PTA8 ,频率为 100

  6.     lptmr_counter_init(LPT0_ALT2, INT_COUNT, 2, LPT_Rising); //初始化脉冲计数器,用LPT0_ALT2,即PTC5输入,每隔INT_COUNT产生中断,延时2个时钟滤波,上升沿触发

  7.     EnableInterrupts;                                       //开总中断

  8.     while(1)
  9.     {
  10.         if( LPT_INT_count > 0 )
  11.         {
  12.             count           =   LPTMR0_CNR;                         //保存脉冲计数器计算值
  13.             lptmr_counter_clean();                                  //清空脉冲计数器计算值(马上清空,这样才能保证计数值准确)
  14.             printf("LPT产生一次中断啦:%d\n", LPT_INT_count * INT_COUNT +  count); //打印计数值
  15.             LPT_INT_count   =   0;                                  //清空LPT中断次数
  16.         }
  17.     }
  18. }


  19. void  LPT_Handler(void)
  20. {
  21.     LPTMR0_CSR |= LPTMR_CSR_TCF_MASK;   //清除LPTMR比较标志
  22.     LPT_INT_count++;                    //中断溢出加1
  23. }

  24. void PIT0_IRQHandler()
  25. {
  26.     pit_flag = 1;               //标记进入PIT中断
  27.     PIT_Flag_Clear(PIT0);       //清中断标志位
  28. }

  29. #undef      VECTOR_101
  30. #define     VECTOR_101  LPT_Handler

  31. #undef  VECTOR_084
  32. #define VECTOR_084    PIT0_IRQHandler     //重新定义84号中断为PIT0_IRQHandler中断

  33. extern  void  LPT_Handler(void);
  34. extern  void PIT0_IRQHandler(void);            //PIT0 定时中断服务函数
复制代码

所有资料51hei提供下载:
K60 smartcar最终代码.rar (1.72 MB, 下载次数: 10)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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