主要看气质——FRDM-KL02Z评测
- [导读]
- FRDM-KL02Z是一款超低成本开发平台,由基于ARMnCortex-M0+处理器构建的Kinetis L系列KL02系列器件组成,主要面向超低功耗产品如可穿戴设备,小家电等。
使用扩展板提供的BSP软件包,代码看起来结构非常清晰并且代码也很短。下面是将代码下载到开发板后运行的效果
图17:LED测试效果
接下来,咱们来看看EEPROM编程。EEPROM用来永久保存一些用户配置还是很不错的,价格便宜,保存时间长且可多次擦写。先看硬件连接图
图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原创,未经许可禁止转载!
网友评论
- 联系人:巧克力娃娃
- 邮箱:board@21ic.com
- 我要投稿
-
欢迎入驻,开放投稿
-
RAK831 Lite:基于树莓派3的LoRa网关... 2022-06-17
-
Imagination推出PowerVR AX2185和AX2145神经... 2022-06-17
-
ODROID-GO是一款兼容Arduino的基于ESP32的便... 2022-06-17
- PID温度控制器
预算:¥700003天前
- 摄像头的可视画面需要一直超上(linux系统,ARM)
预算:¥1000018小时前
- DICOM协议搭建(ARM架构,linux系统)
预算:¥1000017小时前
- 需MIPI摄像头隔离电路,实现3-4米能长距离
预算:¥1000017小时前
- 膨宫仪的控制板,控制流量和检测压力
预算:¥1000016分钟前
- 无创自动测量血压计 NIBP模块
预算:¥100007小时前