[LKS32 软件] 知道怎么在OLED上绘制一个点吗

[复制链接]
748|12
 楼主| dongnanxibei 发表于 2023-4-23 09:52 | 显示全部楼层 |阅读模式
  1. /*
  2. x:0~127;y:0~31
  3. */

  4. void setPixel(int x, int y)
  5. {
  6.         unsigned char page;
  7.         unsigned char bits;
  8.   page = y / 8;
  9.   bits = y % 8;
  10.         OLED_Set_Pos(x,page);
  11.         OLED_WR_Byte(1<<bits,OLED_DATA);       
  12. }
是不是很奈斯,刚研究出来的。
 楼主| dongnanxibei 发表于 2023-4-23 09:52 | 显示全部楼层
之前都是只能通过页绘图,现在可以通过点了。
 楼主| dongnanxibei 发表于 2023-4-23 09:53 | 显示全部楼层
如果内存够大,建立缓存空间就可以通过点绘制图像了,目前只能一个点一个点的来,后面的点还不能跟前面的点在同一个页面内。
wahahaheihei 发表于 2023-4-23 14:13 | 显示全部楼层
噢,你这也就只能每次一个页里写一个点而已。
sheflynn 发表于 2023-5-7 17:03 | 显示全部楼层
首先需要设置控制字节,用于指定绘制模式、坐标系、颜色等信息。
然后需要设置要绘制的像素点的坐标,即行列坐标或XY坐标。
最后将像素点的颜色信息写入到对应的显存地址中。
mikewalpole 发表于 2023-5-7 17:18 | 显示全部楼层
需要通过对OLED的驱动芯片进行命令传输和数据传输。
wangdezhi 发表于 2023-5-7 17:29 | 显示全部楼层
oled显示屏怎么显示32x32点阵的汉字?
mmbs 发表于 2023-5-7 17:59 | 显示全部楼层
// 绘制一个点
void drawPixel(int x, int y, uint8_t color) {
    if ((x < 0) || (x >= SSD1306_WIDTH) || (y < 0) || (y >= SSD1306_HEIGHT))
        return;   // 检查坐标是否越界

    ssd1306_drawPixel(x, y, color);  // 在(x,y)位置绘制颜色为color的像素点
}
averyleigh 发表于 2023-5-7 18:30 | 显示全部楼层
需要计算出该像素点的显存地址,然后将颜色信息写入到该地址中即可。
alvpeg 发表于 2023-5-7 18:47 | 显示全部楼层
如何在OLED屏上显示文字或图像并可通过按键改变
kkzz 发表于 2023-5-7 19:46 | 显示全部楼层
首先建个显存数组,将要显示的数据写入显存里,再将整个显存通过显示图片的方式写入OLED的RAM里显示就OK
deliahouse887 发表于 2023-5-7 21:04 | 显示全部楼层
具体实现方式可能会因OLED驱动芯片型号和使用的驱动库而有所不同
lzbf 发表于 2023-5-7 21:17 | 显示全部楼层
oled数字是占多少像素点              
您需要登录后才可以回帖 登录 | 注册

本版积分规则

225

主题

3848

帖子

18

粉丝
快速回复 在线客服 返回列表 返回顶部