找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4809|回复: 2
收起左侧

华大单片机(hc32l073pata)环境搭建及点灯源程序

[复制链接]
ID:837390 发表于 2020-11-2 12:46 | 显示全部楼层 |阅读模式
   基于keil的在线仿真   1)安装keil
   官网链接: http://www2.keil.com/mdk5
   安装教程自己在网上可以找到
   2)安装华大ide包
    官网链接: www.hdsc.com.cn/Category82-1425?All=1
    安装教程:双击IDE运行包,然后一直往下操作
    注意:如果是自己找的包,或者是某宝给的,使用这种包flash download 里边可能会找不到华大芯片的类型,加也加不进去。所以还是建议使用官方的。
  3)连接板子,下好驱动
   使用的是st-link,st-link在keil安装目录下有,一般是安装目录\ARM\STLink ,里边有个exe程序,运行然后device connect(就按着程序提示一直装),装好之后打开电脑->属性->设备管理器,就能看到有个STM32 stlink的,说明装好了。
  4)下载
   打开keil,然后打开点灯的例程(如果是自己找的SDK,记得要核对芯片的型号是否是自己板子的类型)
   魔术棒->debug->stlink debugger 然后按setting
   正常情况下是SW device 有显示地址 ,debug adapter 有显示正确内容 flash download有显示芯片型号
   如果SW device 没显示,说明没识别到芯片(我之前用的jlink识别不到,就换了个stlink,暂时没想到别的方法可以解决)
   如果flash download 没有对应的芯片,点add自己加进去,如果add的列表没有芯片的型号,要么自己把flm文件给放到对应的flash文件夹,要么就重新装ide包。(都不行的话就没办法了)
   点击 rebuild(两个向下箭头的图标)编译,没问题的话,就点旁边的download,最后点击一个带d的放大镜图标进入调试,点击run就可以看到板子上的灯在闪


如果下载成功灯没闪的话,要么是硬件的问题,要么是程序的问题。
程序的问题,需要翻原理图,看代码对应的端口是否是连接到led的那个端口
硬件的问题,电路连接是否正确,仿真器是否能正确识别

制作出来的实物图如下:
IMG_20201102_124128.jpg

单片机源程序如下:
  1. /******************************************************************************
  2. * Include files
  3. ******************************************************************************/
  4. #include "gpio.h"

  5. /******************************************************************************
  6. * Local pre-processor symbols/macros ('#define')
  7. ******************************************************************************/

  8. /******************************************************************************
  9. * Global variable definitions (declared in header file with 'extern')
  10. ******************************************************************************/

  11. /******************************************************************************
  12. * Local type definitions ('typedef')
  13. ******************************************************************************/

  14. /******************************************************************************
  15. * Local function prototypes ('static')
  16. ******************************************************************************/

  17. /******************************************************************************
  18. * Local variable definitions ('static')                                      *
  19. ******************************************************************************/

  20. /******************************************************************************
  21. * Local pre-processor symbols/macros ('#define')
  22. ******************************************************************************/

  23. /*****************************************************************************
  24. * Function implementation - global ('extern') and local ('static')
  25. ******************************************************************************/
  26. static void App_LedInit(void);

  27. /**
  28. ******************************************************************************
  29. ** \brief  Main function of project
  30. **
  31. ** \return uint32_t return value, if needed
  32. **
  33. ** This sample
  34. **
  35. ******************************************************************************/
  36. int32_t main(void)
  37. {
  38.     ///< LED端口初始化
  39.     App_LedInit();

  40.     while(1)
  41.     {
  42.         ///< LED点亮
  43.         Gpio_SetIO(EVB_LEDR_PORT, EVB_LEDR_PIN);
  44.         delay1ms(1000);

  45.         ///< LED关闭
  46.         Gpio_ClrIO(EVB_LEDR_PORT, EVB_LEDR_PIN);
  47.         delay1ms(1000);
  48.     }
  49. }



  50. static void App_LedInit(void)
  51. {
  52.     stc_gpio_cfg_t stcGpioCfg;
  53.    
  54.     ///< 打开GPIO外设时钟门控
  55.     Sysctrl_SetPeripheralGate(SysctrlPeripheralGpio, TRUE);
  56.    
  57.     ///< 端口方向配置->输出(其它参数与以上(输入)配置参数一致)
  58.     stcGpioCfg.enDir = GpioDirOut;
  59.     ///< 端口上下拉配置->下拉
  60.     stcGpioCfg.enPu = GpioPuDisable;
  61.     stcGpioCfg.enPd = GpioPdEnable;
  62.    
  63.     ///< LED关闭
  64.     Gpio_ClrIO(EVB_LEDR_PORT, EVB_LEDR_PIN);
  65.    
  66.     ///< GPIO IO LED端口初始化
  67.     Gpio_Init(EVB_LEDR_PORT, EVB_LEDR_PIN, &stcGpioCfg);
  68.    

  69. }

  70. /******************************************************************************
  71. * EOF (not truncated)
  72. ******************************************************************************/
复制代码

所有资料51hei提供下载:
gpio_output.zip (254.86 KB, 下载次数: 21)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:328014 发表于 2020-11-3 04:04 | 显示全部楼层
好资料,51黑有你更精彩!!!
回复

使用道具 举报

ID:86450 发表于 2020-11-17 17:34 | 显示全部楼层

好资料,51黑有你更精彩!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表