打印
[PIC32/SAM]

【Curiosity测评报告】WBZ451驱动OLED

[复制链接]
16089|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 南来之风 于 2023-12-21 20:25 编辑

按照计划,本次准备驱动OLED屏幕。


WBZ451主版上的mikroBUS接头的Pinout细节如下:




手头的扩展板上适配树莓派PICO的,可以用于本次测试软件SPI驱动oled,扩展板原理图如下:


根据硬件连接图,在MCC中配置相应的引脚输出为GPIO模式:


定义好相关的API用于操作OLED:
#define OLED_SCL_Clr() SCL_GPIO_RA7_Clear()//CLK
#define OLED_SCL_Set() SCL_GPIO_RA7_Set()

#define OLED_SDA_Clr() SDA_GPIO_RA10_Clear()//DIN
#define OLED_SDA_Set() SDA_GPIO_RA10_Set()

#define OLED_RES_Clr()  RES_GPIO_RA8_Clear() //RES
#define OLED_RES_Set()  RES_GPIO_RA8_Set()
                     
#define OLED_DC_Clr()    DC_GPIO_RA9_Clear()        //дÃüÁî 0
#define OLED_DC_Set()    DC_GPIO_RA9_Set()        //дÊý¾Ý 1

#define OLED_CS_Clr()
#define OLED_CS_Set()

#define OLED_CMD  0        //???ü??
#define OLED_DATA 1        //??????

由于WBZ451使用了RTOS,对于刷新OLED的任务,也要创建相应的Task:
    xTaskCreate((TaskFunction_t) _OLED_Display,
                "OLED_Tasks",
                1024,
                NULL,
                1,
                &xOLED_Display);  

void _OLED_Display(  void *pvParameters  ){

    OLED_Init();   
    OLED_Clear();

    vTaskDelay(1000/portTICK_PERIOD_MS);
   
    OLED_Clear();
    OLED_ShowChar(10,40,'P',16,1);
    OLED_ShowChar(20,40,'I',16,1);
    OLED_ShowChar(30,40,'C',16,1);
    OLED_ShowString(10,20,"WBZ451",16,1);
   
    OLED_Refresh();
    vTaskDelay(5000/portTICK_PERIOD_MS);
    while(1){
        GPIO_RB7_Toggle();
    }
}

经过反复的排线,软件检查,OLED始终无法显示!!绝望之际,决定检查杜邦线。。。果不其然,劣质产品用不了多久就默默失效了,唉!
更换了新的线缆,显示效果如下:





使用特权

评论回复
沙发
OliviaSH| | 2023-12-27 18:53 | 只看该作者
杜邦线千万不能图便宜

使用特权

评论回复
板凳
南来之风|  楼主 | 2023-12-27 20:33 | 只看该作者
OliviaSH 发表于 2023-12-27 18:53
杜邦线千万不能图便宜

是的,最好使用之前先拿万用表测一下连通性,提前排除一些因素,节约时间

使用特权

评论回复
地板
EmmaTT| | 2023-12-28 09:11 | 只看该作者
我有次不起振,把两根杜邦线分开就行了

使用特权

评论回复
5
drawingchips| | 2023-12-28 09:26 | 只看该作者
有没有圆屏幕的驱动程序?

使用特权

评论回复
评论
南来之风 2023-12-28 09:53 回复TA
手头没有圆屏幕,没有现成的。好像某宝中景园圆屏详情有百度盘资料,可以去看看 
6
EmmaTT| | 2023-12-28 16:50 | 只看该作者
看圆屏幕卖家那有没有资料呗

使用特权

评论回复
7
亚瑟| | 2023-12-29 10:05 | 只看该作者
EmmaTT 发表于 2023-12-28 09:11
我有次不起振,把两根杜邦线分开就行了

这杜邦线绝缘不太行啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

38

主题

226

帖子

2

粉丝