0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【南京中科微CSM32RV20开发板试用体验】+定时器时钟试验暂未成功

开发板试用精选 来源:开发板试用 作者:电子发烧友论坛 2022-11-29 11:26 次阅读

本文来源电子发烧友社区,作者:II, 帖子地址:https://bbs.elecfans.com/jishu_2293222_1_1.html

试用CSM32RV20开发板时,想做个计时器显示时分秒,看了手册和论坛里前辈的帖子,rtc似乎不太适用,便想采用timer,可是折腾半天也没成功。

首先main中设置timer1计数方式,使能中断:

Timer1_UpCounting_Mode_Init();//向上计数Interrupt_Enable(TIMER1_updata_int_ID);//CLIC使能中断
SYS_Interrupt_Enable();//CLIC开总中断

修改timer.c中的Timer1_Update_IRQhandler函数:

volatile uint8_t timer_fg = 0;
volatile uint16_t irq_cnt = 0;

void Timer1_Update_IRQhandler(void)
{
	if(TIMER1->SR&0x1)
    {
        TIMER1->SR &= ~0x1;
    }

    irq_cnt ++;
    //ee_printf("in Timer1_Update_IRQhandlerrn");
    
    if(irq_cnt == 1000) {
        Interrupt_Disable(TIMER1_updata_int_ID);
        //ee_printf("timer cnt 1000rn");
        irq_cnt = 0;
        timer_fg = 1;
    }
}

这里的irq_cnt++到5次应用就停止了,打印了一堆乱码。需要注意的是,不要在中断函数中打印debug信息,一方面打印频率会非常高,并且printf过程中会被中断打断,导致乱码。CSM32RV20开发板如果串口打印非常频繁,会影响新程序的下载,下载时按复位没反应。刚开始出现无法下载现象时我很慌乱,意为这板子被我玩坏了,后来按其他板子的经验,按住复位重新加电,待出现下载串口时立刻点下载,才又下载成功了。:(

中断函数中的Interrupt_Disable(TIMER1_updata_int_ID)似乎没有起作用,中断没有停下来。

修改分频和预装载值,也没有达到预期效果。分频数改大后,索性没有中断了。我曾在Timer1_UpCounting_Mode_Init中试了几个值。
image.png

而且使能中断后,串口打印信息总是出现乱码。

看来timer方式暂时不行了,用笨办法简单实现一个试用demo吧。代码如下,献丑了。待有空时好好研究CSM32RV20的timer和rtc。

image.png

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
收藏 人收藏

    评论

    相关推荐

    【RA-Eco-RA2E1-48PIN-V1.0开发板试用】开箱点灯

    【RA-Eco-RA2E1-48PIN-V1.0开发板试用】开箱点灯 0. 写在前面 在此,衷心感谢电子发烧友平台和瑞萨提供的免费试用名额,让我有机会体验和评估
    发表于 10-26 22:47

    定时器的工作方式介绍

    或实现周期性事件的硬件模块。它可以用于实现各种定时任务,如定时中断、PWM(脉冲宽度调制)输出、频率测量等。定时器通常由一个计数、一个时钟
    的头像 发表于 07-12 10:29 629次阅读

    鸿蒙开发系统基础能力:Timer定时器

    设置一个定时器,该定时器定时器到期后执行一个函数。
    的头像 发表于 06-28 11:33 757次阅读
    鸿蒙<b class='flag-5'>开发</b>系统基础能力:Timer<b class='flag-5'>定时器</b>

    点击参与米尔NXP i.MX 93开发板有奖试用

    米尔与NXP合作发布的新品基于NXPi.MX93应用处理的MYD-LMX9X开发板免费试用活动来啦~~米尔提供了3块价值678元的MYD-LMX9X开发板发起
    的头像 发表于 06-13 08:02 427次阅读
    点击参与米尔NXP i.MX 93<b class='flag-5'>开发板</b>有奖<b class='flag-5'>试用</b>

    免费!NXP i.MX 93开发板有奖试用

    米尔与NXP合作发布的新品基于NXPi.MX93应用处理的MYD-LMX9X开发板免费试用活动来啦~~米尔提供了2块价值678
    的头像 发表于 05-23 08:01 634次阅读
    免费!NXP i.MX 93<b class='flag-5'>开发板</b>有奖<b class='flag-5'>试用</b>

    如何实现一个软件定时器

    在Linux,uC/OS,FreeRTOS等操作系统中,都带有软件定时器,原理大同小异。典型的实现方法是:通过一个硬件定时器产生固定的时钟节拍,每次硬件定时器中断到,就对一个全局的时间
    的头像 发表于 04-29 11:00 556次阅读

    香橙派发布首款RISC-V开发板OrangePi RV

    2024年3月,香橙派在全球开发者会议上发布了其首款基于RISC-V开发的OrangePi RV主板。这款开发板拥有四核RISC-V U74与S7协处理
    的头像 发表于 04-01 14:47 923次阅读

    使用555定时器的可调双定时器电路

    定时器 IC 555 是最通用和最常用的 IC 之一,因为它的应用范围更广,如 PWM放大器、延迟定时器、开关电路、占空比选择时钟脉冲发生器等。这也可用于各种应用,如精确
    的头像 发表于 02-25 15:16 1928次阅读
    使用555<b class='flag-5'>定时器</b>的可调双<b class='flag-5'>定时器</b>电路

    51单片机开发板的主要功能 51单片机开发板能做什么

    具有多个通用输入输出引脚,可以连接各种外部设备和传感,实现数据的输入和输出。 时钟管理:开发板通常会集成时钟电路,包括晶振、时钟发生器等,
    的头像 发表于 01-23 15:52 3270次阅读

    定时器原理能控制马达吗为什么

    定时控制。 定时器的工作原理是基于内部的振荡电路,通过稳定的时钟信号来触发或计时特定的事件。常见的定时器电路有555定时器和微控制
    的头像 发表于 01-23 15:21 575次阅读

    AWTK 开源串口屏开发(6) - 定时器的用法

    定时器是个常用的功能,AWTK串口屏提供了丰富的定时器函数,用于定时器的启动、停止、暂停、恢复、修改和重置等功能,本文以计时的例子来介绍定时器
    的头像 发表于 01-13 08:24 505次阅读
    AWTK 开源串口屏<b class='flag-5'>开发</b>(6) - <b class='flag-5'>定时器</b>的用法

    定时器会阻塞线程吗 定时器指令有哪几种

    指令: 一、硬件定时器指令: 1. 初始化定时器:用于配置和初始化定时器的各个参数和寄存。可以设置定时器
    的头像 发表于 12-19 14:03 860次阅读

    CKS32F4xx系列MCU SysTick定时器的原理及使用方法

    、中断延时以及测量函数运行时间;在实时操作系统RTOS中作为滴答定时器,用于上下文切换。采用Cortex-M内核的处理都有SysTick定时器,方便不同处理之间的软件移植。SysT
    的头像 发表于 12-18 09:21 1196次阅读
    CKS32F4xx系列MCU SysTick<b class='flag-5'>定时器</b>的原理及使用方法

    【LuckFox Pico Plus开发板免费试用】RKNN模型推理测试

    感谢电子发烧友和幸狐科技提供了此次LuckFox Pico Plus开发板试用机会。 LuckFox Pico 是一款基于瑞芯 RV1103 芯片具有高性价比的微型 Linux
    发表于 11-11 16:51

    Linux内核时钟系统和定时器实现

    Linux内核时钟系统和定时器实现 Linux 2.6.16之前,内核只支持低精度时钟,内核定时器的工作方式: 系统启动后,会读取时钟源设备
    的头像 发表于 11-09 09:12 1340次阅读
    Linux内核<b class='flag-5'>时钟</b>系统和<b class='flag-5'>定时器</b>实现