本帖最后由 小涛DZGZS 于 2022-1-4 09:08 编辑
发邮件的时候手机号居然落了一位数字没注意到。。。
费好大劲把板子搞到手了,等了好几天板子终于到了。
盒子破了点还好板子完整的
Mini USB土了点看在M4和配线的份上就不吐槽了 哈哈哈
KB/S的网盘上的资料我搬到了阿里云盘
「N32G435xx_V1.1.0」官方开发资料https://www.aliyundrive.com/s/myZNh27oCyB
芯片的特性
N32G435系列采用32 bit ARM Cortex-M4内核,最高工作主频108MHz,支持浮点运算和DSP指令,集成高达128KB嵌入式加密Flash,32KB SRAM,集成丰富的高性能模拟器件,内置1个12bit 5Msps ADC,2路独立轨到轨运算放大器,2个高速比较器,1个1Msps 12bit DAC,支持多达20通道电容式触摸按键,集成多路U(S)ART、12C、SPI、USB、CAN等数字通信接口,内置密码算法硬件加速引擎。
N32G435系列产品可稳定工作于-40°C至+105°C的温度范围,供电电压1.8V至3.6V,提供多种功耗模式供用户选择,符合低功耗应用的要求。该系列产品提供28/32/48/64脚的多种不同封装形式,根据不同的封装形式,器件中的外设配置不尽相同。
参数和配置上看适合跑计算相对比较多比较复杂的应用,还可以做1-3寸小彩屏的人机交互,用于复杂多功能的消费类和危险系数偏低的工业控制类产品的应用还不错,性价比挺高。
编程环境
N32G435xx_V1.1.0\6-软件开发套件(Software Development Kit)目录下的Nationstech.N32G43x_DFP.0.9.2.pack装上,
然后找一个GPIO的官方例程 Nationstech.N32G43x_Library.1.1.0\projects\n32g43x_EVAL\examples\GPIO\LedBlink下面的工程打开
mian.h里面修改LED的IO
#define PORT_GROUP1 GPIOA
#define PORT_GROUP2 GPIOB
#define LED1_PORT PORT_GROUP1
#define LED2_PORT PORT_GROUP2
#define LED3_PORT PORT_GROUP2
#define LED4_PORT PORT_GROUP2
#define LED5_PORT PORT_GROUP2
#define LED1_PIN GPIO_PIN_8
#define LED2_PIN GPIO_PIN_4
#define LED3_PIN GPIO_PIN_5
#define LED4_PIN GPIO_PIN_8
#define LED5_PIN GPIO_PIN_9
我把LED1/2/3改成对应demo板的D1/2/3的IO上,LED4/5改到空脚上即可
int main(void)
{
/*SystemInit() function has been called by startup file startup_n32g43x.s*/
/* Initialize Led1~Led5 as output pushpull mode*/
LedInit(LED1_PORT, LED1_PIN);
LedInit(PORT_GROUP2, LED2_PIN | LED3_PIN);
/*Turn on Led1*/
LedOn(LED1_PORT, LED1_PIN);
LedOn(LED2_PORT, LED2_PIN);
LedOn(LED3_PORT, LED3_PIN);
while (1)
{
// /*LED1_PORT and LED2_PORT are the same port group.Enable Led2 blink and not effect Led1 by Exclusive-OR
// * operation.*/
// LedBlink(PORT_GROUP1, LED2_PIN);
// /*LED3_PORT, LED4_PORT and LED5_PORT are the same port group.*/
// /*Turn Led4 and Led5 off and not effect other ports by PBC register,correspond to
// * PORT_GROUP2->POD&=~(LED4_PIN|LED5_PIN);*/
// LedOff(PORT_GROUP2, LED4_PIN | LED5_PIN);
// /* Insert delay */
// Delay(0x28FFFF);
// /*Turn Led4 and Led5 on,turn Led3 off and not effect other ports by PBSC register,correspond to
// * PORT_GROUP2->POD&=~(LED3_PIN),then PORT_GROUP2->POD|=(LED4_PIN|LED5_PIN);*/
// LedOnOff(PORT_GROUP1, LED3_PIN << 16);
// LedOnOff(PORT_GROUP2, (LED4_PIN | LED5_PIN)<< 16);
// /* Insert delay */
// Delay(0x28FFFF);
// /*Turn on Led3*/
// LedOn(PORT_GROUP1, LED3_PIN);
// /* Insert delay */
// Delay(0x28FFFF);
LedOn(LED1_PORT, LED1_PIN);
LedOn(LED2_PORT, LED2_PIN);
LedOn(LED3_PORT, LED3_PIN);
Delay(0x8FFFFF);
LedOff(LED1_PORT, LED1_PIN);
LedOff(LED2_PORT, LED2_PIN);
LedOff(LED3_PORT, LED3_PIN);
Delay(0x8FFFFF);
}
}
修改下初始化配置初始化LED1/2/3的IO,然后把官方的主循环代码屏蔽掉自己写上三个灯闪烁的代码,编译无报错下载它
亮三灯
灭三灯
点灯成功。
顺便测试了一下N32G435xx_V1.1.0\9-工具(Tools)目录里面的Nations MCU Download Tool V1.2.2和量产下载工具V1.0.1两款下载工具挺好用
产品板子要是把ttl或usb口还有boot0留出来,搞个win平板就是一个量产的脱机工具了
这是接口选择USB后连的USB DFU
接下来继续探索测试N32G435
|