最好的电子音响科技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 STM32F401CCU6HALMX构架)测试版发布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


需取下222472电阻

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,刷卡接口,电池,集成电路80351547,以及相应的电阻和电容。其中集成电路8035需要用热风枪来处理。
虽然STM32F401CC31IO口,但是到用的时候,才知道这个不够,远远不够。
第一张图,来个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
J80358 
ADC1一8
 
5
A4
PB1
J80357 
ADC1一9
 
6
A5
PA5
TP54
ADC1一5
Right connectors
 
10
D15
PB8
R61
I2C1一SCL
CN5 digital
9
D14
PB9
J402A4 
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个示例,每个都先在  BOOT01,晶振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 =01.


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的工作频率,写入RAMSRAM中,只要在程序工具中先行设定,非常方便。管脚的替换也很方便,只需要在void setup() {
pinMode(PB3, OUTPUT);
}
定义下就好了。给初学者带来了一定的方便。
Delay() 以及 HAL_Delay()  都可以使用。
芯片的超频,基本上没有对程序及单片机造成影响。

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

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

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