|
使用 MCUXpresso Config Tools工具配置FRDM-KW41Z的端口输出
[复制链接]
本帖最后由 dql2016 于 2017-6-17 19:50 编辑
MCUXpresso Config Tools是个图形化的MCU时钟,管脚初始化代码配置工具,支持生成多种IDE工程。
FRDM-KW41Z板卡PTB0连接了一颗红色LED,低电平点亮。
step1:选择MCU;
step2:点击工具菜单下的时钟栏目,配置时钟为外部32MHz晶体;
step3:点击工具菜单下的引脚栏目,把16号引脚路由至PTB0,加上标签LED3,方向为输出,高速模式,禁止开漏,驱动强度为高,无/禁止上下拉,关无源滤波器;
step3:点击工具菜单下的工程生成器栏目,依据喜好选择IDE,我这里生成keil MDK工程;
step4:打开生成的工程,添加LED管脚初始化代码,我这注释了user code begin/end的为自己添加,其它均为工程生成;
- /**
- * This is template for main module created by MCUXpresso Project Generator. Enjoy!
- **/
- #include "board.h"
- #include "pin_mux.h"
- #include "clock_config.h"
- //user code begin
- #include "fsl_gpio.h"
- #define Red_LED3_Toggle() GPIO_TogglePinsOutput(BOARD_INITPINS_LED3_GPIO, 1u <<BOARD_INITPINS_LED3_GPIO_PIN)
- void delay_ms(unsigned long xms)
- {
- volatile uint32_t i = 0;
- while(xms--)
- {
- for (i = 0; i < 4000; ++i)
- {
- __asm("nop"); /* delay */
- }
- }
- }
- //user code end
- /*!
- * [url=home.php?mod=space&uid=159083]@brief[/url] Application entry point.
- */
- int main(void) {
- /* Init board hardware. */
- BOARD_InitBootPins();
- BOARD_InitBootClocks();
- BOARD_InitDebugConsole();
- /* Add your code here */
- //user code begin
- /* Output pin configuration */
- gpio_pin_config_t outconfig =
- {
- kGPIO_DigitalOutput,
- 0,
- };
-
- GPIO_PinInit(BOARD_INITPINS_LED3_GPIO, BOARD_INITPINS_LED3_GPIO_PIN, &outconfig);//the red LED3 on board
- //user code end
- for(;;) { /* Infinite loop to avoid leaving the main function */
- __asm("NOP"); /* something to use as a breakpoint stop while looping */
- //user code begin
- Red_LED3_Toggle();
- delay_ms(100);
- //user code end
- }
- }
复制代码
首先是定义一个GPIO输出结构体;
- gpio_pin_config_t outconfig =
- {
- kGPIO_DigitalOutput,
- 0,
- };
复制代码
然后调用fsl_gpio.h里的函数GPIO_PinInit()初始化;
- * @param base GPIO peripheral base pointer (GPIOA, GPIOB, GPIOC, and so on.)
- * @param pin GPIO port pin number
- * @param config GPIO pin configuration pointer
- */
- void GPIO_PinInit(GPIO_Type *base, uint32_t pin, const gpio_pin_config_t *config);
复制代码
调用fsl_gpio.h里的GPIO_TogglePinsOutput()实现翻转IO;
- GPIO_TogglePinsOutput(BOARD_INITPINS_LED3_GPIO, 1u <<BOARD_INITPINS_LED3_GPIO_PIN)
复制代码
step5:Keil MDK调试工具选择JLINK,SW模式,速度飞快;
工程源码:
KW41Z_Test.zip
(10.36 MB, 下载次数: 3, 售价: 1 分芯积分)
|
|