GD32VF103运行周期

[复制链接]
 楼主| trido 发表于 2020-7-15 17:01 | 显示全部楼层 |阅读模式
pi, gp, IO, GPIO, TI
今天试验GD32VF103   用GD32VF103_Firmware_Library_V1.0.2\Examples\TIMER\TIMER0_6-steps列子程序测试,修改程序  去掉DELAY 增加PA1输出  除了初始化程序  main函数中 部分修改如下,发现一个有趣的问题程序刚下载时候  PA1输出频率是很高的   只要复位或者重新上电    PA1输出频率慢了很多。  有高手能给解释一下吗?

while(1){
            // delay_1ms(1);
            timer_event_software_generate(TIMER0,TIMER_EVENT_SRC_CMTG);
        if(i & 0x10)
        {
            GPIO_BC(GPIOA)=GPIO_PIN_1;
         }
          else
        {
          GPIO_BOP(GPIOA)=GPIO_PIN_1;  /* code */
        }
                    
        i++;
        
    }
sonicll 发表于 2020-7-15 17:51 | 显示全部楼层
本帖最后由 sonicll 于 2020-7-15 17:53 编辑

加上delay正常吗?我感觉像是写BC和BOP太频繁,硬件响应不过来,GPIO的翻转速度是有限的
 楼主| trido 发表于 2020-7-15 22:39 来自手机 | 显示全部楼层
sonicll 发表于 2020-7-15 17:51
加上delay正常吗?我感觉像是写BC和BOP太频繁,硬件响应不过来,GPIO的翻转速度是有限的 ...

没试过加不加delay   我就是奇怪刚下载程序运行状态和复位或重新上电为什么不一样!
 楼主| trido 发表于 2020-7-15 22:42 来自手机 | 显示全部楼层
PA1输出周期差了6倍左右       我用的VScode 环境编译的
xdqfc 发表于 2020-7-16 08:32 | 显示全部楼层
之前也遇到用JLINK调试的时候,进不了中断,而用GDLINK就可以进入,用JLINK非得要在仿真下载前复位一下芯片,才可以进入到中断,咱没有怀疑过芯片问题,一直都是怀疑自己是不是哪里做的不到位。建议楼主再检查检查,特别是IDE的配置。
sonicll 发表于 2020-7-16 08:54 | 显示全部楼层
trido 发表于 2020-7-15 22:39
没试过加不加delay   我就是奇怪刚下载程序运行状态和复位或重新上电为什么不一样! ...

可能和IDE有关,我之前用的eclipse,下载完程序,芯片是不会像keil下那样自动reset然后run的,需要手动复位,所以你下载后运行时,很多寄存器的值不是复位值,所以运行结果有差异
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

15

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部