打印
[MM32硬件]

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

[复制链接]
845|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
WAMCNCN|  楼主 | 2020-5-22 12:53 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 WAMCNCN 于 2020-5-22 12:57 编辑

      跑官方给出的例程是熟悉开发板的捷径了,但要是例程出了问题,就要找问题了,虽然麻烦点,但也进一步熟悉了。
先说库代码BLINK里的IOToggle  ,四个LED一起翻转肯定看不出问题。再说IOKey,编译下载到板子上根本跑不起来或者说现象和代码愿意不不符(扫描按键,当每次按下按键时,翻转控制的LED)。
看图说话:

    K1--PB1  K2--PB2 K3--PB10 K4--PB11
    LD1--PA15  LD2--PB3  LD3--PB4  LD4--PB5
代码里:
#define LED4_ON()  GPIO_ResetBits(GPIOA,GPIO_Pin_15)        // PA15
#define LED4_OFF()  GPIO_SetBits(GPIOA,GPIO_Pin_15)        // PA15
#define LED4_TOGGLE()  (GPIO_ReadOutputDataBit(GPIOA,GPIO_Pin_15))?(GPIO_ResetBits(GPIOA,GPIO_Pin_15)):(GPIO_SetBits(GPIOA,GPIO_Pin_15))        // PA15

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

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

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

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

使用特权

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

使用特权

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

是啊,都可以改

使用特权

评论回复
地板
caizhiwei| | 2020-5-22 18:07 | 只看该作者
硬件设计容不得半点马虎,错了就是错了,虽然软件可以改,但是还是很别扭。
支持楼主

使用特权

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

使用特权

评论回复
6
qjp1988113| | 2020-5-23 15:40 | 只看该作者
官方那个资料是MINIBOARD而我们这个板子叫eMiniBoard。有配套的原理图的,但是代码没有,要修改修改。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

50

主题

1882

帖子

1

粉丝