查看: 6502|回复: 7

[GD32F450测试]5、采用ARMmbed[STM32F429工程]实验

[复制链接]
  • TA的每日心情
    开心
    2019-11-19 11:07
  • 签到天数: 226 天

    连续签到: 1 天

    [LV.7]常住居民III

    发表于 2017-5-30 08:13:29 | 显示全部楼层 |阅读模式
    分享到:
    网友推荐可以采用ARMmbed的STM32F429过程来开发GD32F450,于是立即生成F429的工程下载下来,IAR的工程不能用,运行报错,由于休息的原因不能都玩这玩意了,于是改用Keil5.18a来开发。展开下载的Keil工程,在属性中将芯片换成GD32F450,设置好下载工具以及创建各种文件夹,就是0713.h存放的文件夹以及对应的文件而后开始准备做实验。
    首先更改PinName.h文档,重点是需要用的一些管脚;查手册,100Pins的芯片只有PA_0~15、PB_0~15、PC_0~15、PD_0~15、PE_0~15、PH_0,PH_1
    接着更改Arduino的定义,按照网上下来的网友画的管脚逻辑,将Arduino的一一更改过来。下边的工作就简单了,首先定义对象:
    DigitalOut led1(LED1);//3个LED对象,LED4,5,6
    DigitalOut led2(LED2);
    DigitalOut led3(LED3);
    AnalogIn ad0(PA_3);//ADC0对象
    PwmOut pwm0(PB_10);//PWM0,1对象
    PwmOut pwm1(PB_11);
    Ticker myTim0;//Ticker对象
    声明函数:
    void dispBase(void);
    void dispMes(void);
    定义全局变量:
    uint32_t js;
    int ledt=0;
    float val0,dut0=0.100f,dut1=0.050f,ddut0=0.002f,ddut1=0.003f;
    定义ioInit()函数:
    void ioInit(void){
    led1=1;
    pwm0.period(0.002f);//PB_10
    pwm1.period(0.001f);//PB_11
    }
    定义Ticker函数:
    void tipInit(){js++;}
    main函数中的代码直接给出:
    int main(){
    lcdInit();
    lcdClear();
    dispBase();
    myTim0.attach(&tipInit,0.005f);//声明Ticker5mS中断1次
    while(1){
      if(led1)led1=0;else led1=1;
      val0=ad0.read();
      if(dut0>0.96f) dut0=0.002f;dut0+=ddut0;
      if(dut1>0.95f) dut1=0.003f;dut1+=ddut1;
      pwm0=dut0;pwm1=dut1;
      dispMes();
      wait(0.02);
    }
    }
    dispBase()与dispMes()函数与前边的一样,稍稍改改即可,此处省略了。编译下载后的结果见照片51。
    mbed工程应用总结:
    1. 采用STM32F429MBED工程可以有限的开发GD32F450。
    2. 开发过程发现许多功能不一定正常,比如Arduino有6路ADC,可以配置的有A0,A1,A4,A5这4路,但实际有效的只有A0这一路,其他许多IO口与实际的不一定一样,也许网友给的管脚连接逻辑图不太准确,如果有官方的标准引脚逻辑就好了,可以参考一下。
    3. 遍历工程没有找到设置SystemClockCoreClock的地方,也无从自己编了。感觉其系统时钟可能需要人为参与设置,护着直接焊上外部晶体和补偿电容。
    4. 此开发板用来做项目,对于已经使用过这类开发板的来说,可能会好一点,如果是首用,恐怕想的下点功夫先把开发板的一些东西弄明白了在开始。这需要专职人员花不少时间的。实际上这样的开发板需要做许多前期的工作再推出会更好些。
    5. 建议厂家可以按照国外的一些厂家的做法,比如NXP、等,将开发板的彩页上直接印出所有引脚逻辑和资料获取地址——就像STEP2的包装盒一样;例外,优化所有工程代码和实例——无论是用什么开发平台,并且给出的实例有较好的重现性和良好的注释,以便快速开发。在这点上可以建议组织想试用开发板的人群分工合作进行功能模块的完善,也可以找1~2所学校赠送一些开发板,由学生实验完成这些工作,这样可以一举多得。

    51

    51
    回复

    使用道具 举报

  • TA的每日心情

    2021-12-7 12:35
  • 签到天数: 1354 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2017-5-30 11:31:40 | 显示全部楼层
    测试板,试用一下,比较好
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2019-12-1 10:07
  • 签到天数: 1617 天

    连续签到: 1 天

    [LV.Master]伴坛终老

    发表于 2017-5-30 20:46:18 | 显示全部楼层
    什么时候官方出mbed的库,那就厉害了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-12-26 22:31
  • 签到天数: 102 天

    连续签到: 1 天

    [LV.6]常住居民II

    发表于 2017-5-31 10:12:58 | 显示全部楼层
    期待官方的mbed库.  可以偷懒一下了 .
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-11-19 11:07
  • 签到天数: 226 天

    连续签到: 1 天

    [LV.7]常住居民III

     楼主| 发表于 2017-6-1 14:12:36 | 显示全部楼层
    我有时间抽空看看能否将STM32F429的mbed改成功。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-1-11 10:30
  • 签到天数: 5 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2017-12-6 12:07:41 | 显示全部楼层
    请问楼主有做过Mbed的移植项目吗?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-11-19 11:07
  • 签到天数: 226 天

    连续签到: 1 天

    [LV.7]常住居民III

     楼主| 发表于 2017-12-7 06:46:21 | 显示全部楼层
    一卡车龙眼仔z 发表于 2017-12-6 12:07
    请问楼主有做过Mbed的移植项目吗?

    mbed可以做项目,变异后的执行效果与采用其他库文件一样。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2021-3-13 10:11
  • 签到天数: 1088 天

    连续签到: 2 天

    [LV.10]以坛为家III

    发表于 2017-12-7 16:31:36 | 显示全部楼层
    STM32的HAL库使用起来不方便,还不如标准库。
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-11-15 07:57 , Processed in 0.180963 second(s), 32 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.