FR3068E-C芯片架构属于双核架构,包括一颗独立的蓝牙核做蓝牙通讯以及另外一颗主核MCU,双核之间通过串口做HCI通讯,蓝牙核一般不对外开放,用户无需关注 内置128KB CRAM+512KB SRAM,2MB flash(根据芯片型号有不同大小配置)需外挂24MHZ晶体时钟,系统主频最高可倍频至156MHZ工作温度为工业级-40°~105° 有57个可编程IO(不同型号/封装会有所不同)支持两路CAN总线,支持CAN FD支持丰富的外设总线如SPI/UART/USB等支持双模蓝牙BLE+BT/EDR。
作为小白,拿到开发板最喜欢的就是跑外设了。官方配套的SDK对外设的Demo提供的都比较全面,结合各位大神发出的开发环境配置帖子,很快上手了这块开发板。
若想驱动OLED屏,可从淘宝或者其他途径要到一份驱动源码,以下是对I2C驱动的配置和对OLED驱动的修改,在网上找到的配套OLED驱动所使用的是模拟IIC,因此我们需要定位到OLED驱动使用IIC发送数据的接口,那便是以下代码中OLED写字节的函数,将该函数内的IIC接口进行替换,以及根据参考下例程的硬件I2C配置即可。

<pre>GPIO_InitTypeDef GPIO_Handle;
I2C_HandleTypeDef I2C0_Handle;
void i2c_init(void)
{
/* init i2c CLOCK */
__SYSTEM_I2C0_CLK_ENABLE();
/* I2C IO Init */
GPIO_Handle.Pin = GPIO_PIN_0 | GPIO_PIN_1;
GPIO_Handle.Mode = GPIO_MODE_AF_PP;
GPIO_Handle.Pull = GPIO_PULLUP;
GPIO_Handle.Alternate = GPIO_FUNCTION_3;
gpio_init(GPIOA, &GPIO_Handle);
/* I2C Init */
I2C0_Handle.I2Cx = I2C0;
I2C0_Handle.Init.I2C_Mode = I2C_MODE_MASTER_7BIT;
I2C0_Handle.Init.SCL_HCNT = 500;
I2C0_Handle.Init.SCL_LCNT = 500;
i2c_init(&I2C0_Handle);
}
void OLED_WR_Byte(u8 dat,u8 mode)
{
if(mode){
i2c_memory_write(&I2C0_Handle, 0x78, 0x40, dat);
}
else{
i2c_memory_write(&I2C0_Handle, 0x78, 0x00, dat);
}
}</pre>
复制代码