本帖最后由 dami 于 2020-7-10 22:04 编辑
【AutoChips 7801x MCU评测报告】+跑LED测按键拿到开发板一段时间了,一直没时间试。
到AutoChips下资料,仔细看了,很全,连每个设备使用代码都有文档!,还有库API的文档!AutoChips还做了自动产生代码的软件!值得点赞!!!
1,先打开GPIOKEIL工程(目录:D:\autochips\at7801x\ac7801xmoduleapplicationnotes0616\gpio\SampleCode\1 GPIO_Basic)
2,这时候弹出来要 7801x安装包,顺便安装 AutoChips.AC780x_DFP.1.0.1
3,程序贴图
int main(void)
{
InitDelay();
InitDebug();
GPIO_LedInit();
GPIO_KeyInit();
TIMER_PrdInit();
while(1)
{
GPIO_ScanKeyInput();
GPIO_ToggleLedPrd();
}
}
void GPIO_ScanKeyInput(void)
{
if (g_scanKeyTime >= SCAN_KEY_INTVL)
{
g_scanKeyTime = 0;
if ((g_getKey6Sts == KEY_RELEASE) && (GET_KEY6_STS() == KEY_PRESS))
{
mdelay(10);
if (GET_KEY6_STS() == KEY_PRESS)
{
if (g_blinkLedTgtTime < BLINK_LED_MAXT)
{
g_blinkLedTgtTime += <font color="#ff0000">50</font>;
g_getKey6Sts = KEY_PRESS;
printf("LED Blinking IntervalTime: %d ms\r\n", g_blinkLedTgtTime);
}
}
}
else if ((g_getKey6Sts == KEY_PRESS) && (GET_KEY6_STS() == KEY_RELEASE))
{
g_getKey6Sts = KEY_RELEASE;
}
if ((g_getKey7Sts == KEY_RELEASE) && (GET_KEY7_STS() == KEY_PRESS))
{
mdelay(10);
if (GET_KEY7_STS() == KEY_PRESS)
{
if (g_blinkLedTgtTime > BLINK_LED_MINT)
{
g_blinkLedTgtTime -= <font color="#ff0000">50</font>;
g_getKey7Sts = KEY_PRESS;
printf("LED Blinking IntervalTime: %d ms\r\n", g_blinkLedTgtTime);
}
}
}
else if ((g_getKey7Sts == KEY_PRESS) && (GET_KEY7_STS() == KEY_RELEASE))
{
g_getKey7Sts = KEY_RELEASE;
}
}
4,连接调试器和电源USB(其实还有串口)
5,设置调试器为STLINK。
6,把按键加减闪烁改为50或100MS,这样效果好点。
7,编译运行
8,观察LED闪烁,KEY6按下减慢闪烁速度,KEY7按下加快闪烁速度。
9,板子跑起来了!!!10,打开D:\autochips\at7801x\ac7801xmoduleapplicationnotes0616\uart\UART_POLLING工程
该工程使用AT7801X的串口2.
11,编译调试。
12,串口实际上还有个USB-UART,打开(目前该电脑的串口3 波特率 115200 N 8 1)
13,观察效果:
这个时候可以看到,发送什么就能收回什么。
14,串口跑起来了!!!15,测试W25Q16.没反应。后来发现!!! 没焊接。哈哈。
|