搜索

[MM32硬件] 【MM32 eMiniBoard测评报告】+原理图和官网代码不一致

[复制链接]
104|5
 楼主 | 2020-5-22 12:53 | 显示全部楼层 |阅读模式
本帖最后由 WAMCNCN 于 2020-5-22 12:57 编辑

      跑官方给出的例程是熟悉开发板的捷径了,但要是例程出了问题,就要找问题了,虽然麻烦点,但也进一步熟悉了。
先说库代码BLINK里的IOToggle  ,四个LED一起翻转肯定看不出问题。再说IOKey,编译下载到板子上根本跑不起来或者说现象和代码愿意不不符(扫描按键,当每次按下按键时,翻转控制的LED)。
看图说话:
1.JPG 2.JPG
    K1--PB1  K2--PB2 K3--PB10 K4--PB11
    LD1--PA15  LD2--PB3  LD3--PB4  LD4--PB5
代码里:
  1. #define LED4_ON()  GPIO_ResetBits(GPIOA,GPIO_Pin_15)        // PA15
  2. #define LED4_OFF()  GPIO_SetBits(GPIOA,GPIO_Pin_15)        // PA15
  3. #define LED4_TOGGLE()  (GPIO_ReadOutputDataBit(GPIOA,GPIO_Pin_15))?(GPIO_ResetBits(GPIOA,GPIO_Pin_15)):(GPIO_SetBits(GPIOA,GPIO_Pin_15))        // PA15

  4. #define LED3_ON()  GPIO_ResetBits(GPIOB,GPIO_Pin_3)        // PB3
  5. #define LED3_OFF()  GPIO_SetBits(GPIOB,GPIO_Pin_3)        // PB3
  6. #define LED3_TOGGLE()  (GPIO_ReadOutputDataBit(GPIOB,GPIO_Pin_3))?(GPIO_ResetBits(GPIOB,GPIO_Pin_3)):(GPIO_SetBits(GPIOB,GPIO_Pin_3))        // PB3

  7. #define LED2_ON()  GPIO_ResetBits(GPIOB,GPIO_Pin_4)        // PB4
  8. #define LED2_OFF()  GPIO_SetBits(GPIOB,GPIO_Pin_4)        // PB4
  9. #define LED2_TOGGLE()  (GPIO_ReadOutputDataBit(GPIOB,GPIO_Pin_4))?(GPIO_ResetBits(GPIOB,GPIO_Pin_4)):(GPIO_SetBits(GPIOB,GPIO_Pin_4))        // PB4

  10. #define LED1_ON()  GPIO_ResetBits(GPIOB,GPIO_Pin_5)        // PB5
  11. #define LED1_OFF()  GPIO_SetBits(GPIOB,GPIO_Pin_5)        // PB5
  12. #define LED1_TOGGLE()  (GPIO_ReadOutputDataBit(GPIOB,GPIO_Pin_5))?(GPIO_ResetBits(GPIOB,GPIO_Pin_5)):(GPIO_SetBits(GPIOB,GPIO_Pin_5))        // PB5
复制代码
整个顺序反了。
在按键的代码定义里:按键1、2也是不符
  1. #define KEY1  GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_13)//读取按键1
  2. #define WK_UP   GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0)//读取按键2
  3. #define KEY3  GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_10)//读取按键3
  4. #define KEY4  GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_11)//读取按键4

  5. #define KEY1_PRES        1                //KEY1
  6. #define WKUP_PRES        2                //WK_UP  
  7. #define KEY3_PRES        3                //KEY3
  8. #define KEY4_PRES        4                //KEY4
复制代码
在代码里把按键和LED的相关代码全改了后,这个BLINK里的两个例程正常了。另外注意的是K1与K2\3\4是不一样的,要下拉。

使用特权

评论回复
| 2020-5-22 15:11 | 显示全部楼层
官方例程中LED编号与评测板上丝印的编号正好相反,不过对评测没有太大的关系,可以在宏定义中用LEDY、LEDB、LEDG、LEDR来分别替换LED1~4。

使用特权

评论回复
 楼主 | 2020-5-22 16:29 | 显示全部楼层
hu9jj 发表于 2020-5-22 15:11
官方例程中LED编号与评测板上丝印的编号正好相反,不过对评测没有太大的关系,可以在宏定义中用LEDY、LEDB ...

是啊,都可以改

使用特权

评论回复
| 2020-5-22 18:07 | 显示全部楼层
硬件设计容不得半点马虎,错了就是错了,虽然软件可以改,但是还是很别扭。
支持楼主

使用特权

评论回复
| 2020-5-22 19:01 | 显示全部楼层
楼主下载官方的代码不是针对这个板子的,需要自己修改的,对应的板子是Miniboard ,我用的也是这个demo,自己改一下吧

使用特权

评论回复
| 2020-5-23 15:40 | 显示全部楼层
官方那个资料是MINIBOARD而我们这个板子叫eMiniBoard。有配套的原理图的,但是代码没有,要修改修改。

使用特权

评论回复
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

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