STM32
直播中

邓长生

10年用户 883经验值
擅长:可编程逻辑
私信 关注
[问答]

如何对STM32F407ZGT6系列进行Proteus仿真

在VSM Studio GCC编译器中如何对STM32F407ZGT6系列进行proteus仿真?有哪些步骤?

回帖(1)

张莹

2021-10-21 17:26:50
  一,打开文件(可以随文下载在文档中打开)。(如下图1所示)
  
  图1
  二,调整原理图大小,适合可见,另存工程文件。(如下图2,3,4所示)
  
  图2
  
  图3
  
  图4
  三,点击源代码标签。(如图5所示)
  
  图5
  四,编辑main.c代码如Proteus8.9 VSM Studio GCC器仿真STM32F407ZGT6系列012_lcd1602一线屏(如下图6所示)
  
  图6
  五,Main.c代码:
  //* New Project向导生成的Main.c文件
  作者: Ziegler Yin
  创建时间:周四 一月 16 2020
  处理器:STM32F407ZGT6ZGT6
  编译器:ARM 的 GCC
  */
  #include “mfuncs.h”
  #include “delay.h”
  #include “usart.h”
  #include “comds.h”
  u8 l;
  int main(void)
  {
  delay_init(84); //
  初始化函数NV_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置系统中断优先级性能2
  uart_init(9600);//初始化串口波特率115200
  while(1) //实现比较值从0-300递增,到300后从300-0递减,循环
  {
  init(); uprint(“ Kaillen WorkWorkrn”); wrt_lin(1); uprint(“ Wellcom You!rn”); for(l=0; l《255; l++) delay_ms(15); 在里面(); uprint(“代码制作rn”); wrt_lin(1); uprint(“ ---Ziegler Yinrn”); for(l=0; l《100; l++) delay_ms(15); } }
  stm32f4xx_conf.h:
  /**
  @file Project/STM32F4xx_StdPeriph_Templates/stm32f4xx_conf.h
  @author MCD Application Team
  @version V1.8.0
  @date 04-November-2016
  @brief Library configuration file.
  @attention
  © COPYRIGHT 2016 STMicroelectronics
  Licensed under MCD-ST Liberty SW License Agreement V2, (the “License”);
  You may not use this file except in compliance with the License.
  You may obtain a copy of the License at:
  http://www.st.com/software_license_agreement_liberty_v2
  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an “AS IS” BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
  */
  /* 定义以防止递归包含 -------------------------------------*/
  #ifndef __STM32F4xx_CONF_H
  #define __STM32F4xx_CONF_H
  /* 包括------------------------------------------- ----------------------- /
  /取消注释下面,以使外围头文件列入线* /
  //#包括“stm32f4xx_adc.h”
  //#包括“stm32f4xx_crc.h”
  #include “stm32f4xx_dbgmcu.h”
  //#include “stm32f4xx_dma.h”
  #include “stm32f4xx_exti.h”
  //#include “stm32f4xx_flash.h”
  #include “stm32f4xx
  ”_gpio.hxx_gpio.h .h”
  //#include “stm32f4xx_iwdg.h”
  #include “stm32f4xx_pwr.h”
  #include “stm32f4xx_rcc.h”
  //#include “stm32f4xx_rtc.h”
  //#include “stm32f4xx_sdio.h”
  //#include “stm32f4xx_spi.h”
  #include “stm32f4xx_syscfg.h”
  #include “stm32f4xx_rtc.h”
  #include “stm32f4xx_sdio.h” “stm32f4xx_usart.h”
  //#include “stm32f4xx_wwdg.h”
  #include “misc.h”
  /* NVIC 和 SysTick 的高级函数(CMSIS 函数的附加组件)*/
  #if defined(STM32F40_41xxx)
  //#include “stm32f4xx_cryp.h”
  //#包括“stm32f4xx_hash.h”
  //#包括“stm32f4xx_rng.h”
  //#包括“stm32f4xx_can.h”
  的#include“stm32f4xx_dac.h”
  //#包括“stm32f4xx_dcmi.h”
  // #include “stm32f4xx_fsmc.h”
  #endif /* STM32F40_41xxx */
  /* 导出类型---------------------------------------------- -------------- /
  /导出常数-------------------------------- ------------------------*/
  /* 如果使用外部时钟源,那么下面定义
  的值应该设置为外部时钟源,否则,如果没有外部
  使用时钟,保持此限定评论/
  /#定义I2S_EXTERNAL_CLOCK_VAL 12288000 / / Hz为单位的外部时钟的值* /
  / *取消注释下面粉墙的“assert_param”宏在该线
  标准外设库驱动程序代码/
  /#定义USE_FULL_ASSERT 1 * /
  /* 导出的宏 ------------------------------- --------------*/
  #ifdef USE_FULL_ASSERT
  /**
  @brief assert_param 宏用于函数的参数检查。
  @param expr:如果 expr 为 false,则调用 assert_failed 函数
  它报告源文件的名称和源
  失败的呼叫的行号。
  如果 expr 为真,则不返回任何值。
  @retval None
  /
  #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t )FILE, LINE))
  / Exported functions ------------------------------------------------------- /
  void assert_failed(uint8_t file, uint32_t line);
  #else
  #define assert_param(expr) ((void)0)
  #endif / USE_FULL_ASSERT */
  #endif /* __STM32F4xx_CONF_H */
  /************************ © COPYRIGHT STMicroelectronics * END OF FILE /
  六,点击构建工程按钮,编译工程。 (如图7所示)
  
  7
  七,点击画面左下方的仿真按钮,可以看到lcd1602一线屏和虚拟串口的信息显示在屏。(图8,9,10所示)
  
  图8
  
  图9
  
  图10
  八, (如下图11所示)
  
  图11
举报

更多回帖

发帖
×
20
完善资料,
赚取积分