You are on page 1of 14

Application Report

Hng dn lp trnh ngoi vi c bn trn


Kit PS107 Pegasus-S
Dec 2013,HMTT09 Rev 1.0

Hoang Thuan

I. Gii thiu:
Hin nay cc dng vi iu khin ARM 32bit ca ST c ph bin kh rng ri bi hiu
nng n nh, gi c cnh tranh v mt cng ng ARM rng ln trong v ngoi nc, c bit
l dng ARM Cortex M3. cung cp nhng cng c v hng dn cho cc dng vi iu khin
ARM Cortex M3 ca ST, Titans Technology thit k cc kt pht trin, v cc hng dn i
km ngi dung dng tip cn cng nh pht trin dng iu khin mnh m ny.
i vi dng ARM Cortex M3 STM32F10x ca ST, Titans Technology pht trin hai
phin bn kit STM32 Starter (STM32S) dnh cho nhng ngi mi bt u, vi cc ng dng
n gin v USB, Audio,Sd Card.. V mt phin bn y PS107 (Pegasus-S) vi cc ng
dng y hn, t USB,sd card, Audio, cho ti LCD touch screen, Ethernet .
Vi Kt pht trin PS107, chng ta c th pht trin hu ht cc ng dng nhng thng
dng, y l mt cng c pht trin hu ch cho nhng ai mun pht trin cc ng dng nhng
chuyn nghip, da trn nn tng ARM Cortex M3 ca ST.
Trong Aplication Note ny,chng ti s hng dn cch lp trnh giao tip mt s ngoi vi
trn kit PS107 cc bn d dng trong vic nghin cu v pht trin ng dng .

Hnh : PS107

Hng dn lp trnh ngoi vi c bn trn kit PS107 - Pegasus S

Hnh : PS107 Components


1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.

Vi iu khin STM32F107RC
Cc port m rng.
JTAG programming interface.
UART Console.
Power block.
Audio interface
Mini USB interface.
SD Card slot.
Ethernet interface.
Trimer (x2),LEDs(x4),Joystick.
Buttons(x4).
LCD 2.8 inch.
CAN interface.
Audio L,R.
Audio enable.
RTC battery.
Reset button.

Kit PS107 l sn phm ca Titans Technology nghin cu thit k v sn xut . bit


thm chi tit v sn phm cng nh hng dn s dng kit PS107,vui lng tham kho Datasheet
ti y: ( link ). t mua Kit PS107 hoc xem cc sn phm khc, hy vo website
www.titans.com.vn

Titans Technology | www.titans.com.vn / www.hlab.com.vn


Copyright 2014, Titans Technology

HMTT09

Hng dn lp trnh ngoi vi c bn trn kit PS107 - Pegasus S

II. Hng dn lp trnh giao tip cc ngoi vi trn PS107:


Ton b cc code examples u c xy dng t trnh bin dch Keil-C uVersion 4 gip
cc bn tip cn vi vic lp trnh vi iu khin STM32F ti u nht c th, trnh bin dch/tools
c chng ti tch hp sn trong CD ROM khi cc bn mua sn phm.

1. Giao tip LED n:


PS107 c 4 led n c th s dng cho nhiu mc ch khc nhau, nh hin th trng thi,
hin th thng tin g li, hay hin th chc nng
a) M t phn cng:

LED num
LED0
LED1
LED2
LED3

STM32F107s pin wiring


PB10
PB14
PB15
PA7

Hnh: khi LED n hin th ca PS107


Titans Technology | www.titans.com.vn / www.hlab.com.vn
Copyright 2014, Titans Technology

HMTT09

Hng dn lp trnh ngoi vi c bn trn kit PS107 - Pegasus S


b) M t firmware:
M folder tn PS107 LEDs,chy file ARM Cortex M3 starter.uvproj tham
kho chng trnh mu,nhn F7 build chng trnh. Sau khi build, bn np project xung
Kit chy chng trnh (tham kho bi vit hng dn s dng Keil-C bit cc bin dch
v np chng trnh), LED s ln lt sng v tt sau 1 khong thi gian khong 500 ms.
truy xut n cc LED n, trong firmware ta s dng cc hm sau:
Hm
main( )
System_Init ( )

RCC_config( )

GPIO_config( )

Demo( )

Chc nng
Hm chnh ca h thng
Khi to h thng.
Hm ny cn phi khi to u tin,
thng c s dng trc khi
chy cc ng dng ngi dung.
Cu hnh clock cho h thng.
Hm ny cn phi chy u tin,
cu hnh clock cho ton b h
thng, trc khi thc thi ng dng.
Cu hnh chn I/O s dng trong
demo.
Hm thc hin demo chy LED
n

Ghi ch
Tham kho trong file main.c

Tham kho trong file


RCC_User_Config.h &
stm32f10x_rcc.h
Tham kho trong file
GPIO_User_Config.h &
stm32f10x_gpio.h
Tham kho trong file main.c

2. Gio tip nt nhn n:


PS107 c 4 nt nhn c th s dng cho vic bt tt thit b,iu khin/tng gim h s,o
trng thi..
a) M t phn cng:

Titans Technology | www.titans.com.vn / www.hlab.com.vn


Copyright 2014, Titans Technology

HMTT09

Hng dn lp trnh ngoi vi c bn trn kit PS107 - Pegasus S


Buttons
BUT0
BUT1
BUT2
WKUP

STM32F107s pin wiring


PC13
PA3
PA6
PA0

Hnh: Khi nt nhn ca PS107

b) M t firmware:
M folder tn PS107 Buttons,chy file ARM Cortex M3 starter.uvproj tham
kho chng trnh mu,nhn F7 build chng trnh.Sau khi build,bn np project xung Kit
chy chng trnh,nhn nt cc LED sng ln lt ng vi tng nt. truy xut n cc
nt nhn,trong firmware ta s dng cc hm sau thc hin 1 demo v nt nhn:
Hm
main( )
RCC_config( )

GPIO_config( )

Demo( )

Chc nng
Hm chnh ca h thng
Cu hnh clock cho h thng.
Hm ny cn phi chy u tin, cu hnh
clock cho ton b h thng, trc khi thc thi
ng dng.
Cu hnh chn I/O s dng trong demo

Thc hin demo chy LED n

Ghi ch
Tham kho trong file
RCC_User_Config.h &
stm32f10x_rcc.h
Tham kho trong file
GPIO_User_Config.h &
stm32f10x_gpio.h
Tham kho trong file
main.c

3. Lp trnh Timer:
a) M t phn cng:
Dng Vi iu khin STM32F10x c kh nhiu ngoi vi Timer (tri di t TIM1 n TIM14
ty tng dng chip ca series) c th s dng cho vic nh thi, tao xung, bt xung, encoder,
PWM. Trong v d ny, chng ta s s dng TIM3 iu khin chp tt cc LED n nh
thi bng timer.
Bn c th tham kho thm trong datasheet ca STM32F10x bit thm v thng tin v
cc thanh ghi, mode hot ng ca Timer.

Titans Technology | www.titans.com.vn / www.hlab.com.vn


Copyright 2014, Titans Technology

HMTT09

Hng dn lp trnh ngoi vi c bn trn kit PS107 - Pegasus S

Hnh: Khi ngoi vi Timer 3 ca STM32F10x

b) M t firmware:
M folder mang tn PS107 Timers,chy file ARM Cortex M3 starter.uvproj
tham kho chng trnh mu, Nhn F7 build chng trnh. Sau khi build thnh cng, np
chng trnh xung Kit v xem kt qu. Demo ny s s dng ngoi vi Timer 3 bt tt LED,
firmware cho demo ny c s dng cc hm sau:
Hm
main( )
System_Init ( )

Chc nng
Hm chnh ca h thng
Khi to h thng

RCC_config( )

Cu hnh clock cho h thng.


Hm ny cn phi chy u
tin, cu hnh clock cho
ton b h thng, trc khi
thc thi ng dng.
Cu hnh chn I/O s dng

GPIO_config( )

Ghi ch
Tham kho trong file
main.c
Tham kho trong file
RCC_User_Config.h
& stm32f10x_rcc.h

Tham kho trong file

Titans Technology | www.titans.com.vn / www.hlab.com.vn


Copyright 2014, Titans Technology

HMTT09

Hng dn lp trnh ngoi vi c bn trn kit PS107 - Pegasus S


trong demo hin th Led.
Timer3Init( )

void Timer3IntEn(
TIM_TypeDef* timerNum,
uint16_t Timer_IRQ_Num,
uint16_t IntType
);
Timer3ISR( )

Khi to Timer 3.
Hm ny cn phi gi c
th s dng c timer3.
Khi to ngt cho Timer 3.
Hm ny cu hnh ngt cho
Timer 3

Hm phc v ngt Timer3.


Hm ny x l tc v trong
ngt timer3

Timer_User_Config.h
& stm32f10x_gpio.h
Tham kho trong file
Timer_User_Config.h
& stm32f10x_tim.h
Tham kho trong file
Timer_User_Config.h
& stm32f10x_tim.h

Tham kho trong file


Timer_User_Config.h
& stm32f10x_tim.h &
stm32f10x_it.c

4. Lp trnh giao tip UART:


a) M t phn cng:
STM32F107 trang b 5 b ngoi vi giao tip ni tip UART c th s dng cho vic giao
tip vi my tnh,cc ngoi vi khc,cm bin.Trong demo chng ta s dng UART 1 xut
thng qua IC MAX232 ln mn hnh console my tnh.
Bn c th tham kho thm trong datasheet ca STM32F103x bit thm v ngoi vi
UARTs.

Titans Technology | www.titans.com.vn / www.hlab.com.vn


Copyright 2014, Titans Technology

HMTT09

Hng dn lp trnh ngoi vi c bn trn kit PS107 - Pegasus S

Hnh: Khi ngoi vi UART ca STM32F10x

Hnh: Khi ngoi vi UART ca PS107

b) M t firmware:
7

M folder mang tn PS107 UART,chy file ARM Cortex M3 starter.uvproj tham


kho chng trnh mu,Nhn F7 build chng trnh. Sau khi build,np file hex xung Kit,m
Terminal (set tc baud rate 115200) v xem kt qu.firmware s s dng cc hm sau:

Titans Technology | www.titans.com.vn / www.hlab.com.vn


Copyright 2014, Titans Technology

HMTT09

Hng dn lp trnh ngoi vi c bn trn kit PS107 - Pegasus S


Hm
main( )
System_Init ( )
RCC_config( )

GPIO_config( )

Chc nng
Hm chnh ca h thng
Khi to h thng
Cu hnh clock cho h thng.
Hm ny cn phi chy u
tin, cu hnh clock cho
ton b h thng, trc khi
thc thi ng dng.
Cu hnh chn I/O s dng
trong demo

USART_Config( tham s truyn)

Khi to UART

USARTIntEn( tham s truyn )

Khi to ngt USART

USART_Putc( tham s truyn)

Gi 1 byte

USART1_Print_Str( tham s
truyn)

Gi 1 chui

USART1_ISR( )

Hm phc v ngt cho


UART1.
Hm ny x l tc v ca
ngt UART 1

Ghi ch
Tham kho trong file
main.c
Tham kho trong file
RCC_User_Config.h &
stm32f10x_rcc.h

Tham kho trong file


Timer_User_Config.h &
stm32f10x_gpio.h
Tham kho trong file
USART_User_Config.h
& stm32f10x_usart.h
Tham kho trong file
USART_User_Config.h
& stm32f10x_usart.h
Tham kho trong file
USART_User_Config.h
& stm32f10x_usart.h
Tham kho trong file
USART_User_Config.h
& stm32f10x_usart.h
Tham kho trong file
USART_User_Config.h
& stm32f10x_usart.h &
stm32f10x_it.c

5. ADC:
a) M t phn cng:
ARM STM32F10x c tt c 15 knh Analog Converter h tr cho cc ng dng v thu
thp d liu
Bn c th tham kho thm trong datasheet STM32F10x v ngoi vi ADC

Titans Technology | www.titans.com.vn / www.hlab.com.vn


Copyright 2014, Titans Technology

HMTT09

Hng dn lp trnh ngoi vi c bn trn kit PS107 - Pegasus S

Hnh: Khi ngoi vi ADC ca STM32F10x

Hnh: Khi thu thp Analog ca PS107


9

Titans Technology | www.titans.com.vn / www.hlab.com.vn


Copyright 2014, Titans Technology

HMTT09

Hng dn lp trnh ngoi vi c bn trn kit PS107 - Pegasus S


b) M t firmware:
M folder mang tn PS107 ADC,chy file ARM Cortex M3 starter.uvproj tham
kho chng trnh mu,Nhn F7 build chng trnh. Sau khi build,np project xung Kit,m
Terminal (set tc baud rate 115200),sau xoay tht chm bin tr R50 v R51 v xem kt
qua ADC c xut trn mn hnh Terminal.Firmware s s dng cc hm sau:

Hm
main( )
System_Init ( )

Chc nng
Hm chnh ca h thng
Khi to h thng

RCC_config( )

Cu hnh clock cho h thng.


Hm ny cn phi chy u
tin, cu hnh clock cho
ton b h thng, trc khi
thc thi ng dng.
Cu hnh chn I/O s dng
trong demo

GPIO_config( )

USART_Config( tham s truyn)

Khi to UART

USARTIntEn( tham s truyn )

Khi to ngt USART

USART_Putc( tham s truyn)

Gi 1 byte

ADC_User_Config( tham s
truyn)

Khi to AD Converter

ADC_Converter(tham s truyn)

Chuyn i tn hiu tng t


sang tn hiu s

Ghi ch
Tham kho trong file
main.c
Tham kho trong file
RCC_User_Config.h &
stm32f10x_rcc.h

Tham kho trong file


Timer_User_Config.h &
stm32f10x_gpio.h
Tham kho trong file
USART_User_Config.h
& stm32f10x_usart.h
Tham kho trong file
USART_User_Config.h
& stm32f10x_usart.h
Tham kho trong file
USART_User_Config.h
& stm32f10x_usart.h
Tham kho trong file
ADC_User_Config.h &
stm32f10x_adc.h
Tham kho trong file
ADC_User_Config.h &
stm32f10x_adc.h

6. Touch LCD:
a) M t phn cng:
10

PS107 c trang b 1 LCD Touch 2.8 inch h tr pht trin cc ng dng i hi c giao
din ngi dng. Thng qua demo ny,chng ta s c 1 gc nhn cn bn cho vic lp trnh giao
tip Touch LCD,y l ng dng c phc tp i hi thi gian nghin cu v pht trin (Lu
:cn nghin cu thm datasheet ca LCD)
Titans Technology | www.titans.com.vn / www.hlab.com.vn
Copyright 2014, Titans Technology

HMTT09

Hng dn lp trnh ngoi vi c bn trn kit PS107 - Pegasus S

Hnh: Khi ngoi vi Touch LCD ca PS107

b) M t firmware:
M folder mang tn PS107 Touch LCD,chy file ARM Cortex M3 starter.uvproj
tham kho chng trnh mu,Nhn F7 build chng trnh. Sau khi build,np project xung
Kit v xem kt qu trn LCD,c th touch v cc biu tng trn mn hnh thy s thay i.
Firmware s s dng cc hm sau:
Hm
main( )
System_Init ( )
RCC_config( )

GPIO_config( )

GLCD_Init( )
TPInit( )
11

LCD_Clear( tham s truyn)


LCD_SetBackColor( tham s

Chc nng
Hm chnh ca h thng
Khi to h thng
Cu hnh clock cho h thng.
Hm ny cn phi chy u
tin, cu hnh clock cho
ton b h thng, trc khi
thc thi ng dng.
Cu hnh chn I/O s dng
trong demo

Ghi ch
Tham kho trong file
main.c
Tham kho trong file
RCC_User_Config.h &
stm32f10x_rcc.h

Tham kho trong file


Timer_User_Config.h &
stm32f10x_gpio.h
Khi to phn hin th Touch Tham kho trong file
LCD
TouchGLCD.h
Khi to phn touch ca
Tham kho trong file
LCD
TouchGLCD.h &
ads7843drv.h
Xa mn hnh vi mu sc
Tham kho trong file
truyn vo
TouchGLCD.h
Set mu mn hnh vi mu
Tham kho trong file

Titans Technology | www.titans.com.vn / www.hlab.com.vn


Copyright 2014, Titans Technology

HMTT09

Hng dn lp trnh ngoi vi c bn trn kit PS107 - Pegasus S


truyn)
LCD_SetTextColor(tham s
truyn)
LCD_DisplayChar(tham s
truyn)
LCD_DisplayStringLine(tham s
truyn)
LCD_Bitmap( tham s truyn)

sc truyn vo
Set mu cho ch vi mu sc
truyn vo
Xut 1 k t ti 1 v tr mong
mun trn mn hnh
Xut 1 chui trn 1 hng
mong mun trn mn hnh
Xut 1 hnh nh c cha
sn trong ROM ti v tr
mong mun trn mn hnh
LCD_ClearLn( tham s truyn)
Xa 1 dng k t ti hng
mong mun trn mn hnh
LCD_ClearNumberOfLn(tham s Xa s dng truyn vo tnh
truyn)
t dng u tin trn mn
hnh
TouchGetAverage(tham s
Kim tra v tr touch trn
truyn)
mn hnh nu c tng tc

TouchGLCD.h
Tham kho trong file
TouchGLCD.h
Tham kho trong file
TouchGLCD.h
Tham kho trong file
TouchGLCD.h
Tham kho trong file
TouchGLCD.h
Tham kho trong file
TouchGLCD.h
Tham kho trong file
TouchGLCD.h
Tham kho trong file
ads7843drv.h

Vi ti liu hng dn lp trnh thit b ngoi vi c bn trn kt PS107 Pegasus-S. Chng


ti hy vng cc bn c th tip cn nhanh chng trong vic pht trin cc ng dng nhng da
trn dng ARM Cortex M3 ca ST. Ngoi ra ti liu cng gip cc bn lm quen vi dng kt
pht trin PS107 y v mnh m, ng c cc yu cu pht trin h thng nhng ngy
cng phc tp v a dng.
Mi thng tin cn trao i, cng nh thc mc v gp , xin vui lng gi email v a ch
: support@titans.com.vn hoc support@hlab.com.vn . Chng ti rt vui lng n nhn cc kin
gp v phn hi ca cc bn.

12

Titans Technology | www.titans.com.vn / www.hlab.com.vn


Copyright 2014, Titans Technology

HMTT09

Hng dn lp trnh ngoi vi c bn trn kit PS107 - Pegasus S

Copyright 2013 Titans Technology. Ti liu ny thuc


bn quyn ca Titans Technology (www.titans.com.vn),
chng ti hy vng cc bn khi s dng vi bt k mc ch
no bng bt c hnh thc no bao gm sao chp, in, copy,
trch dn cn phi ghi r xut x ngun gc t trang web
ca chng ti
Hy truy xut trang web ca chng ti thng xuyn c nhng cp nht mi nht
v cc thit b mi nht ti website www.titans.com.vn.
13

Nu c bt c kin ng gp cng nh cn h tr, t vn thm thng tin v sn


phm, vui lng gi mail n a ch email: support@hlab.com.vn hoc
support@titans.com.vn
Titans Technology | www.titans.com.vn / www.hlab.com.vn
Copyright 2014, Titans Technology

HMTT09

You might also like