【Atmel SAM R21创意大赛周计划】+Peer2Peer项目添加SERCOM (i2c)TWI
R21的管脚不够多,只能考虑多用外设来扩展了!
现在先从SERCOM (I2C)TWI功能开始,读取温度,硬件先考虑用at30片子!
1、为sam0添加I2C外设
sam0/drivers/i2c 相关文件夹和文件大概可以步步新建添加
2、添加目标芯片底层驱动
common2 / compoents / sersor /at30tse75x
3、添加占用端口 配置文件
4、设置包含路径
5、ASF中包含头文件
6、程序方面
at30tse_init();初始化
配置温度传感器
volatile uint16_t thigh = 0;
thigh = at30tse_read_register(AT30TSE_THIGH_REG,
AT30TSE_NON_VOLATILE_REG, AT30TSE_THIGH_REG_SIZE);
//! [read_thigh]
//! [read_tlow]
volatile uint16_t tlow = 0;
tlow = at30tse_read_register(AT30TSE_TLOW_REG,
AT30TSE_NON_VOLATILE_REG, AT30TSE_TLOW_REG_SIZE);
//! [read_tlow]
// Set 12-bit resolution mode.
//! [write_conf]
at30tse_write_config_register(
AT30TSE_CONFIG_RES(AT30TSE_CONFIG_RES_12_bit));
读温度显示
temp_res = at30tse_read_temperature();
f2c(temp_res,&value_disp[0]);
ssd1306_writehz(0,2,0);
ssd1306_writehz(16,2,1);
Display_OLED(0,2," = `C");
Display_OLED(40,2,&value_disp[0]);
7、显示效果