VCA2fbbuM

STC32G12K128 ZERO

 
Overview
Features

include an STC32 development board similar in size and layout to the Raspberry Pi ZERO,
an onboard universal external Bluetooth module slot for Bluetooth communication,
a TF card slot (version 1.3) changed to a rotary encoder
utilizing all pins,
an external EEPROM
, a cold start switch for direct programming, and
external TX/RX test points.
It can be used with the Raspberry Pi ZERO casing
using 0603 solder, which is relatively easy to solder.
It's a 4-layer board with a 1.2mm thickness.

The MindMap
STC32 development board includes
a Bluetooth module,
external EEPROM,
cold start programming,
rotary encoder, and
external pins

.
Programming and debugging should be performed with the switch off.
Cold start programming & chip information reading test:
During programming, the CH340N RTS pin is low, the SS8550 is on; after programming, the RTS pin is high, the SS8550 is off.
Onboard LED test:
Bluetooth connection test:
Automatically sends 'TEST!' text every two seconds.
Note the baud rate and master clock settings .
Master clock
#define MAIN_Fosc
baud rate
COMx_InitStructure.UART_BaudRate
External EEPROM: M24C02 test
STC32 has DMA, so M24C02 can be accessed directly via DMA.
Before compilation, since previous STC chips only had interrupt vectors from 0 to 31, and this one requires more than 31, an interrupt vector patch needs to be installed in KEIL. The
interrupt vector variable name is: DMA_I2CR_VECTOR.
It needs to be viewed and printed using the serial port. Again, pay attention to the master clock and baud rate.
According to STC32G12K128 ZERO, modify the I2C GPIO and I2C PIN to 1.4, 1.5.
P1_MODE_OUT_OD(GPIO_Pin_4 | GPIO_Pin_5);

I2C_SW(I2C_P14_P15);
Test Results:
Rotary encoder test.
According to the official manual, interrupt number 13 was used
. Note: Since the number of IO interrupts has exceeded 31, according to the official documentation, an ISP.ASM file needs to be added, which is attached along with the source code.
Using IO interrupts, the interrupt pin is 0.3, rising edge.
According to the official documentation:
void common_isr() interrupt 13
{
u8 intf;
intf = P0INTF;
if(intf)
{
P0INTF = 0x00; // Code reset
if(intf & 0x08) // P0.3 pin
{
flag = 1; // Check if it is a rising edge
}
}
}
According to the rotary encoder documentation:
Check if the states of pins A and B are equal at the rising edge.
Test Results:
Version
v1.3
TF card modified to rotary encoder.
The SPI interface of the TF pin is released to the header.
TF card pins: P2.2 P2.3 P2.4 P2.5.
After modification:
Rotary encoder pins P0.3 P0.4 P0.5.
P0.6 has been modified to a new LED indicator pin.
v1.2
has corrected the cold start circuit
. v1.1
has modified the power switch circuit
by adding underlying RX and TX contacts.
v1.0
Please note the following version when boarding up.
参考设计图片
×
 
 
Search Datasheet?

Supported by EEWorld Datasheet

Forum More
Update:2026-03-26 15:30:36

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
community

Robot
development
community

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号