本帖最后由 yljon 于 2020-6-16 21:07 编辑
一、初识开发板,准备好硬件
二姨家最近在举办“喜迎雅特力入驻”活动,我本着蹭一块开发板的心态报名了,有一位好心的网友留言说可以联系谁谁谁,可以获得开发板。于是抱着试试看的态度联系了,结果真的收到开发板了。打开包装还有一张名片,我就是联系这位黄先生获得的开发板。
拿到开发板,看上去很不错,
1.板载AT-LINK烧录器,这就爽歪歪了,估计要下驱动,
2.供电是USB口,我要准备USB线
3.找到我这个多次出场的串口屏
有这几样就满足我测试需求了,好了,开动。
二、到官网找资料看看,电路图要搞到
上官网(www.arterytek.com )找些资料看看,
电路图找到了:
确认了几个信息:
串口使用UART1,在PA9和PA10;
按钮作为计数用,在PA0;
这个信息在后面写程序要用啊,提前准备着
三、搭建环境,开始让KEIL工作
AT-LINK的驱动要先安装,在官网上直接下载:http://atkap.arterytek.com/download/AT-Link_V1.2.20.zip
(提醒一下:artery_atlink-usart_driverinstall.exe会被杀毒软件删除,我关掉杀毒软件才安装上的)
用USB线将开发板连接电脑,在设备管理器看见这样:
打开KEIL,在设置里看见这样,至此驱动安装就OK啦。
四、搭建环境,芯片的PACK下载安装
由于我的开发环境是KEIL,从官网下载安装的PACK是:http://atkap.arterytek.com/download/Pack_Keil_AT32F4xx_V1.3.1.zip
在KEIL里看见如下就意味着PACK搞好了。
五、搞定代码,点亮屏幕
从官网直接下载了一个DEMO程序,修修改改最快速,
雅特力AT32的串口驱动和按钮驱动都很简单,如下代码看一下就懂了;
我使用的是AN0015_Printf_Debug_Demo里的代码005_Printf_Test_Keil_USART2__Without_MicroLIB,
干脆将所有代码都贴出来,这就这么一点,全部放在main.c文件中了:
#include <stdio.h>
#include "at32f4xx.h"
#include "at32_board.h"
#include "at32f4xx_usart.h"
uint8_t xx=0;
void EXTI0_IRQHandler(void)
{
if(EXTI_GetIntStatus(EXTI_Line0) != RESET)
{
xx=xx+1;
EXTI_ClearIntPendingBit(EXTI_Line0);
}
}
void EXTI0_Config(void)
{
GPIO_InitType GPIO_InitStructure;
EXTI_InitType EXTI_InitStructure;
NVIC_InitType NVIC_InitStructure = {0};
RCC_APB2PeriphClockCmd(RCC_APB2PERIPH_GPIOA, ENABLE);
GPIO_InitStructure.GPIO_Pins = GPIO_Pins_0;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_PD;
GPIO_Init(GPIOA, &GPIO_InitStructure);
RCC_APB2PeriphClockCmd(RCC_APB2PERIPH_AFIO, ENABLE);
GPIO_EXTILineConfig(GPIO_PortSourceGPIOA, GPIO_PinsSource0);
EXTI_InitStructure.EXTI_Line = EXTI_Line0;
EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising;
EXTI_InitStructure.EXTI_LineEnable = ENABLE;
EXTI_Init(&EXTI_InitStructure);
NVIC_InitStructure.NVIC_IRQChannel = EXTI0_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x01;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x01;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
}
int main(void)
{
uint8_t SendBuf[11];
uint8_t ll=0;
SendBuf[0]='n';
SendBuf[1]='0';
SendBuf[2]='.';
SendBuf[3]='v';
SendBuf[4]='a';
SendBuf[5]='l';
SendBuf[6]='=';
SendBuf[7]='1';
SendBuf[8]=0xff;
SendBuf[9]=0xff;
SendBuf[10]=0xff;
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
AT32_Board_Init();
EXTI0_Config();
UART_Print_Init(9600);
while(1)
{
SendBuf[7]=xx+0x30;
if(xx>9)
{
xx=0;
}
for (ll=0;ll<11;ll++)
{
USART_SendData(USART1, SendBuf[ll]);
Delay_us(1000);
}
Delay_ms(100);
}
}
六、演示视频上传
将上述代码编译烧录,看看效果,编译成功,可以运行啦,哈哈哈哈
下面演示按钮,视频网址如下:https://b23.tv/ruiDcp
很简单的演示:按下USER按钮,计数器加1,显示在屏上。
七、雅特力AT32 开发板评价
1. 雅特力AT32的这个系列的开发板,制作精良,白白净净,方便使用;
2.网站资料齐全,需要的东东都可以直接从官网下载,方便;
3.代码风格也好,几乎和ST的不相上下,一看就懂那种,商家用心了;
4. 这块开发板的其它功能,待后续慢慢搞
5. 最后,为嘉洪科技的黄先生的热情服务点赞!!
@21ic小喇叭 , @Smartlin , 我在小喇叭置顶的活动贴里也留言了,如果看见此贴就不用给我寄送开发板了。当然,如果抽中了论坛的礼物,还请寄送给我,谢谢!
|