前言

感谢敏矽微活动的支持,之前没有听说过这颗芯片,在论坛上看到,申请使用玩一下,本次简单的驱动OLED熟悉一下该颗芯片。

芯片简介

• ARM CortexTM-M3, 最高 100 MHz.

•闪存: 128K(用户区) +3.5K( Bootloader),最大访问速度 30MHz

• SRAM: 16K

•定时器:提供 4 个 16 位基础定时器, 2个增强型 16 位定时器,两个独立的看门狗 (WWDG 和 IWDG)

• 4 个 UART 接口

• 1个CAN 支持 CAN 协议 2.0 版本 A 和 B 部分

• LED 显示器

支持 8( segment) x16( com)或 16( segment) x8( com)

• DMA 支持 16 通道 DMA

• 两个比较器

• 1M 转换速率的 12 位 SAR ADC

总的资源就是以上,可以玩一下,小型应用,大型的资源不够。

硬件

接下来看下实物图,如下所示:

114424kj3jb9jj9oj89jcj

硬件开发板中引出了CAN接口以及数码管,挺好。同时板载了CH340N,可直接串口输出。不过要是换一下USB接口就好了。本次驱动OLED使用模拟IIC的方式,连接IO是PC6和PC7,如上已经连接好了。

实现步骤

首先下载SDK,然后随意打开个LED的工程,如下所示:

114424kpr8wtcw9c7euphh

这里需要注意一点,如果是mdk5.37后的需要自己安装一下5.06的编译器,教程很多。

添加OLED源码,添加IO初始化。

114424m441apa1hp7ahhht

引脚定义,PC6连接SCL,PC7连接SDA

114425vaf1a8mtt88fyt8l

OLED初始化,并显示字符串:

114425ipgbb525vzbb5vzb

显示结果如下:

114425m3nlr5nicbn9j0n3

总结

总结一下,软件上可以有多一点的文档说明,没有经验的新手可能比较懵。SDK希望能严谨一点,代码里面还有屏蔽的代码,不规范,代码也可以进行git托管什么的。硬件上可以换一下USB口,板在DAP,以及RS485接口啥的,本来就是一款验证板。