首页 > 评测 > 主要看气质——FRDM-KL02Z评测

主要看气质——FRDM-KL02Z评测

FRDM   KL02Z   NXP   飞思卡尔   
  • 作者:SATURN
  • 来源:21ic
  • [导读]
  • FRDM-KL02Z是一款超低成本开发平台,由基于ARMnCortex-M0+处理器构建的Kinetis L系列KL02系列器件组成,主要面向超低功耗产品如可穿戴设备,小家电等。

使用扩展板提供的BSP软件包,代码看起来结构非常清晰并且代码也很短。下面是将代码下载到开发板后运行的效果

image017.jpg

图17:LED测试效果

接下来,咱们来看看EEPROM编程。EEPROM用来永久保存一些用户配置还是很不错的,价格便宜,保存时间长且可多次擦写。先看硬件连接图

image018.png

图18:EEPROM连接方式

其中SCL/SDA分别连接到MCU的PTA8/PTA9两个引脚,明白了硬件原理图,写一段简单的代码来测试

int main(void)

{

int ret;

DelayInit();

GPIO_QuickInit(HW_GPIOB, 6, kGPIO_Mode_OPP);

UART_QuickInit(UART0_RX_B2_TX_B1, 9600);

UART_ITConfig(HW_UART0, kUART_IT_Rx, true);

/* do test */

printf("I2C_EEPORM demo\r\n");

ret = cmd_i2c(0, NULL);

if(ret)

{

printf("EEPOEM test failed\r\n");

}

else

{

printf("EEPORM test ok!\r\n");

}

while(1)

{

GPIO_ToggleBit(HW_GPIOB, 6);

DelayMs(500);

}

}

这一段代码将信息写入到扩展板上的EEPROM,然后再读取写入的信息并进行比较,如果二者一致,表明写入是成功的。实际执行的代码如下

int at24cxx_self_test(void)

int ret;

//uint8_t buf[128],buf1[128],buf2[128];

uint8_t buf[64],buf1[64],buf2[64];

ret = at24cxx_read(0, buf, sizeof(buf));

if(ret)

{

return ret;

}

memset(buf1,'Y',sizeof(buf1));

ret = at24cxx_write(0, buf1, sizeof(buf1));

if(ret)

{

return ret;

}

ret = at24cxx_read(0, buf2, sizeof(buf2));

if(ret)

{

return ret;

}

ret = at24cxx_write(0, buf, sizeof(buf));

if(ret)

{

return ret;

}

if(!memcmp(buf1, buf2, sizeof(buf1)))

{

return 0;

}

return 1;

}{

  • 本文系21ic原创,未经许可禁止转载!

网友评论