首页 > 其他分享 >CH32V307 IO翻转速度测试

CH32V307 IO翻转速度测试

时间:2022-10-24 20:01:11浏览次数:42  
标签:InitStructure t0 GPIOA CH32V307 IO GPIO asm 翻转

CH32V307 IO翻转速度测试

记录RISC-V MCU CH32V307 IO极限翻转速度。

测试代码如下:

/*********************************************************************
 * @fn      GPIO_Toggle_INIT
 *
 * @brief   Initializes GPIOA.0
 *
 * @return  none
 */
void GPIO_Toggle_INIT(void)
{
    GPIO_InitTypeDef GPIO_InitStructure = {0};

    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
    GPIO_Init(GPIOA, &GPIO_InitStructure);
}

/*********************************************************************
 * @fn      main
 *
 * @brief   Main program.
 *
 * @return  none
 */
int main(void)
{
    USART_Printf_Init(115200);
    printf("SystemClk:%d\r\n", SystemCoreClock);

    printf("GPIO Toggle TEST\r\n");
    GPIO_Toggle_INIT();

    asm("li t0,1");
    asm("li t2,1");
    asm("li t1,0x4001080c");

    while(1)
    {

//        asm("sw t0,(t1)");
//        asm("sw zero,(t1)");

//        asm("sw t0,(t1)");
//        asm("xori t0,t0,1");
//        asm("xor t0,t0,t2");

//        GPIOA->OUTDR ^= GPIO_Pin_0;
        GPIOA->OUTDR = 1;
        GPIOA->OUTDR = 0;

    }
}

标签:InitStructure,t0,GPIOA,CH32V307,IO,GPIO,asm,翻转
From: https://www.cnblogs.com/wahahahehehe/p/16822593.html

相关文章

  • react中useTransition的执行原理
    _版本:v18.2.0本文为我花了大半年的时间潜心研究所写,转载请注明出处,谢谢本文假设你读了本系列中的《触发onClick,react会执行哪些操作》、《react中suspense组件是如何重......
  • 解决log4jWARN No appenders could be found for logger (druid.sql.Connection) 警告
    解决og4j:WARNNoappenderscouldbefoundforlogger(druid.sql.Connection)警告的问题这个问题可以解决也可以不解决,因为不影响程序的使用,只是个告警,看着不太好看而......
  • WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
     1.错误@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WARNING:REMOTEHOSTIDENTIFICATIONHASCHANGED!@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@......
  • Lock wait timeout exceeded; try restarting transaction
    Lockwaittimeoutexceeded;tryrestartingtransaction1.异常java.lang.reflect.InvocationTargetException:nullatsun.reflect.NativeMethodAccessorImpl.invoke......
  • Vue3, setup语法糖、Composition API全方位解读
    起初Vue3.0暴露变量必须return出来,template中才能使用;Vue3.2中只需要在script标签上加上setup属性,组件在编译的过程中代码运行的上下文是在setup()函数中,无......
  • 【Swift 60秒】16 - Enumerations
    0x00LessonEnumerations-usuallycalledjust​​enums​​-areawayofdefininggroupsofrelatedvaluesinawaythatmakesthemeasiertouse.Forexample,......
  • GCJ Qualification Round 2017 题解(部分)
    OversizedPancakeFlipper#include<bits/stdc++.h>usingnamespacestd;#define#define#define#define#define#define#define#define#define#define#define#define#define#......
  • BZOJ 4800([Ceoi2015]Ice Hockey World Championship-meet in the middle)
    Description有n个物品,m块钱,给定每个物品的价格,求买物品的方案数。Input第一行两个数n,m代表物品数量及钱数第二行n个数,代表每个物品的价格n<=40,m<=10^18Output一行一......
  • IOT平台
    平台简介交换机:将网关(包括独立云网关和lora云网关),路由器,串口服务器,MCGS触摸屏以及PLC和配置编程所用到的电脑进行连接,使其相互之间能实现通信。路由器:为整个平台以及......
  • iOS开发之自定义日历控件
    前言日常开发中经常会遇到日期选择,为了方便使用,简单封装了一个日历控件,在此抛砖引玉供大家参考。效果功能支持单选、区间支持默认选中日期支持限制月份支持过......