本帖最后由 harvardx 于 2016-3-28 22:16 编辑
江湖传闻, KL27 miniboard 所送的FreeLink 无法在mdk下无法使用, 网络语焉不详,也没有细看,抱着80后不常看说明书的心态,就摆弄起来, 搜索得知,此物乃wanley所创,大叫不好.记得第一次玩stm32就是他们的stlink ,结果也是被逼用起来IAR.
IAR是业界神器,可惜对于吾等电工,只是拿单片机当个开关用,实在是无心钻研其专业的各种编译开关选项,一直顶礼膜拜,唯恐避避之不及,当年玩avr着过的道实在不少, 代码用iar编译过不了,优化压缩太给力了. 代码腾至GCC下,又立马恢复正常,无奈..功力太浅驾驭不了,MDK这样的傻白甜倒是正中下怀, 从各式51到各种ARM各种coretxM ,千篇一律的界面,熟悉的不能再熟悉了.加之如今的各家bsp搞的如火如荼, 自己建个工程也即是拿samplecode或者是template改个路径的事情,如今cortexM 瞬间被简化到51的感觉,各种api bsp伺候着,不再需要一入ARM门深似海,我们只需要当个"勺子"(据说是骂人的,我的意思是我们充当一个勺子的掌握着),凭借这些,可当作有力工具,于是开发变得容易,各种调用,各种看samplecode, 似乎早已忘记Datasheet为何物. 而且如今,都流行reference mannual.
于是 ,MDK还是大爱啊. 而且有万能的X宝的Jlink, 用起来还是相当得心应手,这不刚刚的问题来了就走了. 尝试了各种驱动神马的. 这FreeLink死活不动. 俺们不会IAR,咋办,还是MDK凑活着过, 题外话,MDK5.18A最新版本已经新鲜出炉,果断装上,
打开第一个例程,应该是最abc 的了,尝试用FreeLink ,影都没有. 工程默认就是选得jlink .而且main.c中有说明, 采用调试器 为Jlink, 既然尝试许久未果,那就jlink吧, 上电,用所赠的红色ubs线给KL27mini供电,然后插上jlink ,在属性设置中,选择端口为SW ,一下子就识别到了器件.于是各种顺利调试. 速度杠杠滴. 4000KHZ,再高好像也上去,也不做多解, 为的就是一入门.
KL27使用的感觉就像是在用一个51,如果仅仅用到io拉高拉低.那么跟着例程 1-LED 已经完全掌握了. democode的力量是伟大的.飞丝的代码 ,读取来还是比较赏心悦目, 最大的感受是简洁明了,风格巨好.以后多学习之. C coding的要素之一就是注释,这真是一门需要compromise的学问,过犹不及, 横竖讲究一度. 想想应该代码之美,就在这字里行间吧.
路漫漫,希望有机会学习更多,并反哺于实践,提高咱电工的软实力.
- #include <stdio.h>
- #include "gpio.h"
- #include "common.h"
- #include "dma.h"
- #include "lpuart.h"
- #define LED0_PORT HW_GPIOC
- #define LED0_PIN 3
- #define LED1_PORT HW_GPIOA
- #define LED1_PIN 1
- #define LED2_PORT HW_GPIOE
- #define LED2_PIN 0
- #define LED3_PORT HW_GPIOA
- #define LED3_PIN 2
-
- int main(void)
- {
- DelayInit();
- /* LED */
- GPIO_QuickInit(LED0_PORT, LED0_PIN, kGPIO_Mode_OPP);
- GPIO_QuickInit(LED1_PORT, LED1_PIN, kGPIO_Mode_OPP);
- GPIO_QuickInit(LED2_PORT, LED2_PIN, kGPIO_Mode_OPP);
- GPIO_QuickInit(LED3_PORT, LED3_PIN, kGPIO_Mode_OPP);
- /* KEY */
- GPIO_QuickInit(HW_GPIOB, 0, kGPIO_Mode_IPU);
- /* UART */
- LPUART_QuickInit(LPUART0_RX_D06_TX_D07, 115200);
- printf("The Leds start to flash \r\n");
- while(1)
- {
- GPIO_ToggleBit(LED0_PORT, LED0_PIN);
- GPIO_ToggleBit(LED1_PORT, LED1_PIN);
- GPIO_ToggleBit(LED2_PORT, LED2_PIN);
- GPIO_ToggleBit(LED3_PORT, LED3_PIN);
- DelayMs(100);
- }
- }
复制代码
1-LED.zip
(980.83 KB, 下载次数: 82)
|