• STM32单片机在Keil5下仿真的问题解决及GPIO口初始化、使用


    STM32单片机在Keil5下仿真的问题解决及GPIO口初始化、使用

    最近看了视频,里面有仿真,可以清楚看到GPIO口的数据变化,也想尝试下,DUG时却出现*** error 65: access violation at 0x40021000 : no 'read' permission,按照网上给的各种办法,包括修改memory map,以及其他各种办法,都无法解决,后来发现问题在下面这张图所示的位置:

    这个图上红色框中的两个参数是我修改之后的,原来的值是软件安装之后的默认值:

    Dialog DLL默认是DCM3.DLL
    Parameter默认是-pCM3

    应改为

    Dialog DLL默认是DARMSTM.DLL
    Parameter默认是-pSTM32F103RC

    然后就可以愉快的仿真了。

    仿真过程:

    点击Debug,然后点击Peripheral菜单项,然后在General Purpose I/O这儿选择你要看的管脚,我这里选择GPIOA,完成后点击setup添加PORTA.0  就可以看GPIOA_Pin0的信号了:

    借鉴这里的经验,在此感谢http://www.stmcu.org/module/forum/thread-599469-1-1.html

    以下是一段GPIO口初始化及输出的使用的代码:

     1 #include<stm32f10x.h>
     2 
     3 int main(){
     4     
     5     //定义一个GPIO初始化结构体,要在RCC使能之前定义,否则会报错
     6     GPIO_InitTypeDef GPIO_InitStruct;
     7     
     8     //初始化RCC并使能
     9     RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
    10     
    11     //设置要初始化的GPIO的管脚
    12     GPIO_InitStruct.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1;
    13     
    14     //设置要初始化的GPIO的速度
    15     GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
    16     
    17     //设置要初始化的GPIO的模式
    18     GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
    19     
    20     //调用初始化函数,传入参数为GPIO初始化结构体的地址
    21     GPIO_Init(GPIOA, &GPIO_InitStruct);
    22     
    23     //在循环中给GPIO_Pin_1不断置位复位,也就是给高低电平,可以用来点亮对应管脚的led
    24     while(1){
    25         
    26         //GPIO管脚置位函数,第一个参数为那个GPIO口,第二个为GPIO口的第几个引脚
    27         GPIO_SetBits(GPIOA, GPIO_Pin_0);
    28         
    29         //GPIO管脚复位函数,第一个参数为那个GPIO口,第二个为GPIO口的第几个引脚
    30         GPIO_ResetBits(GPIOA, GPIO_Pin_0);
    31     }
    32     
    33     
    34     
    35     
    36     
    37     return 0;
    38 }

    以上是使用软件仿真的设置,那么硬件仿真(jlink)应该如何设置呢?

    需要把右边的:

    Dialog DLL默认是TARMSTM.DLL
    Parameter默认是-pSTM32F103RC

    保存之后点击Utilities,并进行如下设置:

    然后就可以使用jlink仿真了。

  • 相关阅读:
    Asp.net MVC3 Razor语法小记
    asp.net4的webform使用路由
    判断数据库中要创建的存储过程、函数等是否已经存在
    visual studio 解决方案版本互转
    sql语句创建表的时候加表注释和列注释
    Jquery在指定元素内查找元素(相对定位)
    .net便利的小方法
    sqlserver2008秘钥
    jquery星级评定效果(原创)
    清除GridView自带样式
  • 原文地址:https://www.cnblogs.com/jiwangbujiu/p/5397408.html
Copyright © 2020-2023  润新知