本帖最后由 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.没反应。后来发现!!! 没焊接。哈哈。
|