最好的电子音响科技diy制作网站

haoDIY_音响电子电脑科技DIY小制作发明

当前位置: 主页 > 最新DIY >

一元POS机加洞洞板加串口小板等于arduino

时间:2017-07-24 13:28来源:数码之家 作者:cao57508 点击: 次
问题一、 ADC 不够,通过测量发现, A5(PA5) 和 D10(PA5) 是一个脚。 问题二、 STM32F401CC 木有 PB11 脚。 下面的表格是 STM32F401CCARDUINO 的管脚罗列。 我不得不说这个 STM32F401 是个天生的残疾,脑残的缺少 P
一元POS机加洞洞板加串口小板等于arduino
本文主要目标是测试huawei  的ARDUINO FOR STM32F401CCU6(HALMX构架)测试版发布http://bbs.mydigit.cn/read.php?tid=1816615


“工预善其事,必先利其器”,这个arduino 的测试要有硬件做基础,最佳方案是买个成品的STM32F401CC的系统板来改造,这个不符合我们DIY 的精神,我们手里一元POS机不答应,好吧,有能力把POS机芯片拆下来的,并且可以焊到板子上的,可以用核心板来改造,我决定用POS机来改,这个难度相对小一些,至少比在集成电路上刮U要简单。
首先我上张表格,这个把芯片的所有引脚都罗列出来了,具体的改法见

序号

板上点号

管脚号

对应IO脚

状态

备注

1

TP19

10

PA0

好

电源开关

2

R57

11

PA1

好

取下电阻

3

R56

12

PA2

好

取下电阻

4

R58

13

PA3

好

取下电阻

5

R59

14

PA4

好

取下电阻

6

TP54

15

PA5

好

需取下222和472电阻

7

C31

16

PA6

好

需取下474电阻

8

R15

17

PA7

好

需取下01C电阻

9

C62

29

PA8

好

需取下电容

10

R18

30

PA9

好

USART1_TX,或断开相应电路

11

D2

31

PA10

好

USART1_RX,红色二极管

12

TP45

32

PA11

好

D-

13

TP44

33

PA12

好

D+

14

TP26

34

PA13
 
SWCLK

15

TP25

37

PA14
 
SWDIO

16

TP14

38

PA15

好
 

17

R54

44

BOOT0
   

18

J8035

18

PB0

好

8脚

19

J8035

19

PB1

好

7脚

20

TP22

20

PB2

好
 

21

TP30

39

PB3

好
 

22
 
40

PB4

好

后加

23

R9

41

PB5

好
 

24

TP29

42

PB6

好
 

25

R60

43

PB7

好

需取下电阻

26

R61

45

PB8

好

需取下电阻

27

J402A

46

PB9

好

4脚

28
 
21

PB10

好

后加

29

R22

25

PB12

好

需取下电阻

30

D2

26

PB13

好

绿色二极管

31
 
27

PB14

好

后加

32
 
28

PB15

好

后加

33

R166

2

PC13

好
 


后加是指在电路板上合适位置,自行刮开电路板,焊接飞线。
请输入描述
请输入描述

改造过程
请输入描述

请输入描述

请输入描述

请输入描述



请输入描述

请输入描述

请输入描述

#p#分页标题#e#请输入描述





注意本表格仅仅适用于图片所见的POS机,相近的POS机管脚需要自行测试,这个应当是知道原理,怎样设计是你的事。
在这个板子上需要预先处理并焊下,电源开关,红绿LED,刷卡接口,电池,集成电路8035及1547,以及相应的电阻和电容。其中集成电路8035需要用热风枪来处理。
虽然STM32F401CC有31个IO口,但是到用的时候,才知道这个不够,远远不够。
第一张图,来个arduino   这个引脚位置及基本样式。
请输入描述

第二张图,来个STM32 Nucleo401RB核心板  对应管脚图
请输入描述

通过查询en.DM00105823.pdf  和en.DM00231744.pdf   知道STM32 Nucleo401RB  对应管脚,但是我们木有PC7,还有PA9,PA10这个串口管脚还要用。
要么32脚要么64脚,偏偏木有48脚的,我们参照三来改吧。


三,参照机智云的STM32F103C8T6  的底板
请输入描述
请输入描述

请输入描述

Arduino connectors onNUCLEO-F401CC  
Connector
Pin
Pin name
MCU pin
pos
Function
Left connectors
 
1
NC
-
 
-
 
2
IOREF
-
3.3V 
3.3V Ref
 
3
RESET
NRST
RESET 
RESET
CN6 power
4
+3V3
-
3.3V 
3.3V input/output
5
+5V
-
+5V
5V output
 
6
GND
-
VSS
Ground
 
7
GND
-
VSS
Ground
 
8
VIN
-
输入 
Power input
 
1
A0
PA0
TP19
ADC1一0
 
2
A1
PA1
R57
ADC1一1
CN8 analog
3
A2
PA4
R59
ADC1一4
4
A3
PB0
J8035第8脚 
ADC1一8
 
5
A4
PB1
J8035第7脚 
ADC1一9
 
6
A5
PA5
TP54
ADC1一5
Right connectors
 
10
D15
PB8
R61
I2C1一SCL
CN5 digital
9
D14
PB9
J402A第4脚 
I2C1一SDA
 
8
AREF
-
VDD
AVDD
 
7
GND
-
VSS
Ground
 
6
D13
PA5
TP54
SPI1一SCK
 
5
D12
PA6
C31 
SPI1一MISO
CN5 digital
4
D11
PA7
R15
SPI1一MOSI
3
D10
PA15

TP14
SPI1一NSS
 
2
D9
PA15

TP14
 
 
1
D8
PB6
TP29
TIM4一CH1
 
8
D7
PA8
C26
一
 
7
D6
PB10
后加
TIM2一CH3
 
6
D5
PB4
后加
TIM3一CH1
CN9 digital
5
D4
PB5
R9 
TIM3一CH2
4
D3
PB3
TP30
TIM2一CH2
 
3
D2
PB7
R60
一
 
2
D1
PA2
R56
USART2一TX
 
1
D0
PA3
R58
USART2一RX
#p#分页标题#e#


问题一、ADC 不够,通过测量发现,A5(PA5)和 D10(PA5)是一个脚。
问题二、STM32F401CC 木有PB11脚。
下面的表格是  STM32F401CCARDUINO 的管脚罗列。
我不得不说这个STM32F401是个天生的残疾,脑残的缺少PB11。下面要占一楼

测试测试
下载安装 huawei 提供的 arduino 1.611版本 , 401cc arduino 的示例共计有四大项,12个示例,每个都先在  BOOT0置1,晶振12M,的硬件条件下测试。


先测  RAM ,再测  SRAM  ,CPU speed(MHZ) 分别测试 84M,120M,144M,  


如果出现如下错误提示,请先安装任何一款RAM 的芯片,见图。






一、示例第1大项Basic  
Blink0_morse   输出如下莫尔斯电码“-- .- .--. .-.. .  ”见示波器图形,非常完美。任何管脚替换源程序的PC13  都非常顺利。这个示例优良。无管脚定义也可替换。


Blink1_Std 示波器波形输出正常,管脚替换时要先定义。否则其它管脚替换后无反应。
Blink2_Int 这个测试的板子内置LED的闪烁, PC13脚出现如下波形。


Blink3_51 波形同上,管脚替换时要先定义,,建议本程序的的延迟做个修改与前面的程序有所区别。
Blink4_Hal  测试中的波形稳定,管脚替换时要先定义。
Blink5_AllPin  这个测试中的所有管脚均有稳定波形,优良。
二、示例第2大项Digital_Analog  的第一小项AnalogReadSerial  AD测试良好,在串口监视器上可看到“analog read A0 =0或1”.


Digital_Analog的第二小项DigitalReadSerial  DA测试良好
三、示例第3大项Communication 的第一小项Uart_HelloWorld,可在串口监视器窗口看到“Hello World!”


四、示例第4大项HAL_Driect ,
第一小项 HALprint  可在串口监视器窗口观察到输出“something”。
第二小项 HALTogglePin这个测试中的管脚有稳定波形,优良。定义管脚后和替换。
第三小项 HALUart  出现编译错误,请将”huart3 “  换成“huart1”  后面的延迟函数换成  HAL_Delay().  可在串口监视器窗口观察到输出“wakeup”但是第一个显示的是“akeup”不知道是何原因。





结论:绝大部分程序是正常的,由于有了arduino封装,给STM32F401CC芯片的使用带来了方便,使用者不必去考虑怎样去做晶振的设置,管脚的设置,MCU的工作频率,写入RAM或SRAM中,只要在程序工具中先行设定,非常方便。管脚的替换也很方便,只需要在void setup() {
pinMode(PB3, OUTPUT);
}
定义下就好了。给初学者带来了一定的方便。
Delay() 以及 HAL_Delay()  都可以使用。
芯片的超频,基本上没有对程序及单片机造成影响。

缺点:1、示例太少。
2、部分示例还没有进行仔细的测试。
3、不能把arduino 的A和D脚直接对应STM32F401CC相应的管脚而直接来调用原有arduino 的程序。

建议:1、每个示例中的延迟都要有所区别,便于初学者测试使用。
2、示例如果都是HAL 库的,可否把所有程序中的delay()都统一为HAL_Delay().便于初学者使用和计算。
3、stm32f401cc做arduino 有很大的缺陷,由于缺少PB11脚,还要使用到SPI 1和IC1,ADC 1不足6个,PWM 不足7个。因此应当有个电路说明,例如,A5和D13共用一个管脚。对应相应的管脚,便于移植。
4、建议加个电动机的示例。这个比较实用,做个arduino 小车就有希望了。
 
 

(责任编辑:admin)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
相关文章
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
推荐内容