接上篇:艾克姆IK-ZET6开发板Cube之GPIO) V5 J7 f* R$ I. g
利用艾克姆IK-ZET6开发板通过STM32CubeMX开发实验。 本次测试板载电容触摸按键,利用其控制四个LED的亮、灭状态。这颗电容触摸芯片原理图中标识为JR223B,目前还没找到资料,但与TTP223应该是兼容的(详附件)。该芯片的Pin1为输出,默认为低电平状态,当其Pin3引脚检测到有触摸时Pin1翻转为高电平状态。开机时Pin1输出为低电平,D2、D4点亮、D1、D3熄灭;当用手指触摸按键时LED状态翻转;手指松开后LED状态再次翻转。' Z$ i7 m. G+ Z; S3 v% i$ B# L
一、实验资源# |4 p) \1 V: `+ y) B. c k
1、艾克姆IK-ZET6开发板;
$ W, n, d. T. D; P1 l( L2、keil 5.247 @4 ]2 W8 q! Z* i8 j ~
3、STM32CubeMX 4.23' p, N* S" \' `4 S. C6 a6 A
4、J-LINK9+ K& i" o" A. u; x
. k5 P0 j$ n# I4 |8 d
二、实验内容
6 A6 R0 a' n: y- D1 \' Z, z4 q+ S C1、按开发原理图在Cube中配置相应管脚,触摸按键(PE1)配置为上拉输入;LED均为推挽输出;8MHz外部晶振。( W+ h& k+ \' f! n
3 n$ x! d( `, g( S
$ K% m3 m2 C3 f" P6 U( U
) F. I1 V9 e, c. G% o- d
7 N- z: J" w' S3 N6 i
- s" P5 c: @! T5 l: Y1 u$ d
* `8 M; d! a. \二、实验过程及结果; u1 j4 _0 m9 F3 X6 L
1、主要代码:5 d5 ?% h. o4 _4 e1 D5 }
- if(HAL_GPIO_ReadPin(TOUCH_GPIO_Port, TOUCH_Pin))( W& C& v# y; Y) m8 h
- {9 N1 h! Z6 M7 M4 w
- HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_RESET);: d7 L* o- n+ s& \
- HAL_GPIO_WritePin(LED2_GPIO_Port, LED2_Pin, GPIO_PIN_SET);9 \1 d' ]! a/ n5 ?+ f- m
- HAL_GPIO_WritePin(LED3_GPIO_Port, LED3_Pin, GPIO_PIN_RESET);
- b% e2 {3 r6 ?7 j* _9 q - HAL_GPIO_WritePin(LED4_GPIO_Port, LED4_Pin, GPIO_PIN_SET);
+ X* N* O: \* `4 V8 ^% E& {. o - }
5 L- L2 Y4 Y5 X$ k - else2 B- L' H8 W, B. i- J2 h: B
- {
2 J& ?' E3 ?4 W - HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_SET);- H% Y/ s- i# m {& }
- HAL_GPIO_WritePin(LED2_GPIO_Port, LED2_Pin, GPIO_PIN_RESET);
2 h M9 z/ ~) ~4 r: Z$ O$ v - HAL_GPIO_WritePin(LED3_GPIO_Port, LED3_Pin, GPIO_PIN_SET); B1 I- A% s% g5 e% C# e
- HAL_GPIO_WritePin(LED4_GPIO_Port, LED4_Pin, GPIO_PIN_RESET);
" d! T! r# l* p5 F* Q( o5 S - }
复制代码 + z9 a" g2 q* n" x
& x1 b. X' E# d
2、开机状态:' |+ _, ]4 ?; g' ~. Y
/ g: X" [, h+ q$ d8 t
) T4 B/ M4 ]5 O; M7 t, m* N3、触摸状态:
, [7 J- G+ ?$ ?, R
& y: K t# ]$ i. k( R
9 W6 @' ]; J T* ~% n. {0 |( w附件:% Z7 U+ Q$ _& G9 d; D- s
TTP223 .pdf
(280.73 KB, 下载次数: 0)
|