主要看气质——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
- 我要投稿
-
欢迎入驻,开放投稿
-
人均百万?英伟达中国员工收入曝光! 2024-08-29
-
《黑神话:悟空》玩家硬盘升级攻略:提升游戏体验,畅享3A大作 2024-08-29
-
数睿数据参加《系统与软件工程 低代码开发平台通用技术要求》国家标准编制 2024-08-29
- NRF52810蓝牙数字耳机找人定制
预算:¥30005天前
- 125KW模块式PCS软硬件外包开发
预算:¥1100000015小时前
- 12V汽车启动电源项目BMS设计
预算:¥50000023小时前
- 数据可视化软件 开发
预算:¥5000023小时前
- PLC项目调试修改
预算:¥100001天前
- 起动电机控制器开发
预算:¥1100001天前