微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > DSP学习交流 > + 对定时器/计数器的学习

+ 对定时器/计数器的学习

时间:10-02 整理:3721RD 点击:
不知道为什么发表的帖子会丢一部分文字,现在更多也是想先保存为草稿,再继续发一部分学习内容,现在即将锻练记忆,因为我想许多经验最需要的就是记忆,而渐渐被一些小事所困扰,然后记忆力越来越差,就像是身体,也是不锻炼,变得越来越虚,真的是为了技术放弃一切,等到技术已经炉火纯青,人早就废掉了。
http://www.deyisupport.com/question_answer/dsp_arm/c6000_dsp/default.aspx我经常来这里提问问题,或者回复一些6748的思考,大家可以一起来探讨一下。
接着说定时器,在我的上一个文章的基础上,通过小小的改造,就可以做成

?,写的东西怎么都没有了?什么鬼!

真郁闷,做后端技术员看过来,帮我找回丢失的部分啊!,一篇文章4/5的东西都丢了是什么情况?上次丢了就认了,这次3个小时写的东西都没有了

  1. /****************************************************************************/
  2. /*                                                                          */
  3. /*              定时器 / 计数器初始化                                       */
  4. /*                                                                          */
  5. /****************************************************************************/
  6. void TimerInit(void)
  7. {
  8.     // 配置 定时器 / 计数器 2 为 64 位模式
  9.     TimerConfigure(SOC_TMR_2_REGS, TMR_CFG_64BIT_CLK_INT);

  10.     // 设置周期
  11.     TimerPeriodSet(SOC_TMR_2_REGS, TMR_TIMER12, TMR_PERIOD_LSB32);
  12.     TimerPeriodSet(SOC_TMR_2_REGS, TMR_TIMER34, TMR_PERIOD_MSB32);

  13.     // 使能 定时器 / 计数器 2
  14.     TimerEnable(SOC_TMR_2_REGS, TMR_TIMER12, TMR_ENABLE_CONT);
  15. }

复制代码

  1. /****************************************************************************/
  2. /*                                                                          */
  3. /*              定时器 / 计数器中断初始化                                   */
  4. /*                                                                          */
  5. /****************************************************************************/
  6. void TimerInterruptInit(void)
  7. {
  8.         // 注册中断服务函数
  9.         IntRegister(C674X_MASK_INT4, TimerIsr);

  10.         // 映射中断到 DSP 可屏蔽中断
  11.         IntEventMap(C674X_MASK_INT4, SYS_INT_T64P2_TINTALL);

  12.         // 使能 DSP 可屏蔽中断
  13.         IntEnable(C674X_MASK_INT4);

  14.         // 使能 定时器 / 计数器 中断
  15.         TimerIntEnable(SOC_TMR_2_REGS, TMR_INT_TMR12_NON_CAPT_MODE);
  16. }

复制代码

  1. /****************************************************************************/
  2. /*                                                                          */
  3. /*              中断服务函数                                                */
  4. /*                                                                          */
  5. /****************************************************************************/
  6. void TimerIsr(void)
  7. {
  8.     // 禁用定时器 / 计数器中断
  9.     TimerIntDisable(SOC_TMR_2_REGS, TMR_INT_TMR12_NON_CAPT_MODE);

  10.     // 清除中断标志
  11.     IntEventClear(SYS_INT_T64P2_TINTALL);
  12.     TimerIntStatusClear(SOC_TMR_2_REGS, TMR_INT_TMR12_NON_CAPT_MODE);

  13.     // 改变 LED 状态
  14.     GPIOPinWrite(SOC_GPIO_0_REGS, 109, Flag);
  15.     Flag=!Flag;
  16.     GPIOPinWrite(SOC_GPIO_0_REGS, 110, Flag);

  17.     // 使能 定时器 / 计数器 中断
  18.     TimerIntEnable(SOC_TMR_2_REGS, TMR_INT_TMR12_NON_CAPT_MODE);
  19. }

复制代码

文字全丢了?什么情况!

我一般先编辑为word格式,然后再发帖。

我们这边让技术看看是什么问题 晚点回复

看看

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top