模块使用
文章平均质量分 61
编程让世界美好
技术宅拯救世界
展开
-
HC05主从一体蓝牙模块的裸机使用——单片机<-->蓝牙模块
HC-05是一种常用的蓝牙模块,具有低功耗、低成本、易于使用的特点。它可以实现与其他蓝牙设备(如手机、电脑等)进行无线通信。HC-05蓝牙模块具有串口通信接口,可以通过串口与主控制器(如Arduino、Raspberry Pi等)进行连接。使用HC-05模块,可以实现无线传输数据、远程控制等功能。原创 2024-07-15 23:15:58 · 782 阅读 · 0 评论 -
ARM Linux C LCD屏 调用write()显示单色出现花屏、条状不消影
int flags ---- 映射后显存的标志,MAP_SHARED表示映射后的显存多个进程都可以访问。- int prot ----- 映射后内存的访问属性,通常为PROT_READ|PROT_WRITE。- void *addr ---- 需要映射的内存中显示的首地址,如果使用NULL,系统自动获取。- size_t length ---- 需要映射的内存大小,显存大小为800*480*4。- void *---- 在应用程序中,得到映射后的显存首地址,通过该地址可以访问显存。原创 2024-07-08 10:47:49 · 788 阅读 · 0 评论 -
ARM-Linux C LCD绘制调用write()只能写入第一次
在显存中,每个像素点占用4个字节,其中3个字节用于存储RGB值,另一个字节可以不用。因此,一个800x480的液晶屏所需的显存大小为800*480*4=1536000字节。例如,红色为0x00FF0000,绿色为0x0000FF00,蓝色为0x000000FF等。它可以用于对已打开的文件进行读写操作,可以改变文件当前的读写位置。3. 色位:每个像素点由24位数据描述,其中红色占8位,绿色占8位,蓝色占8位。- 调用write()函数将lcd_buf中的数据写入到液晶屏设备文件中。原创 2024-07-08 09:18:59 · 505 阅读 · 0 评论 -
ARM GEC6818 LCD绘图 实心圆 三角形 五角星 任意区域矩形以及旗帜
不同的LCD控制器和ARM芯片可能会有一些细节上的差异,因此具体的实现步骤可能会有所不同。此外,还可以结合相关的图形库或操作系统提供的绘图函数来简化开发过程。绘图函数:实现绘制基本图形的函数,如点、线、矩形、圆等。图像显示:通过调用绘图函数绘制图像,然后将图像数据写入映射的内存地址中,刷新LCD控制器以显示图像。内存映射:将LCD显示区域映射到ARM的内存地址空间中,可以通过ARM的内存映射机制来实现。硬件初始化:初始化LCD控制器和相关引脚,配置时钟、分辨率和颜色深度等。这里采用的是手动绘制+内存映射。原创 2024-07-08 08:54:39 · 609 阅读 · 0 评论 -
OLED示波器的实现
OLED显示屏具有高对比度、高亮度、广视角和快速响应时间等优点,使得OLED示波器在波形显示方面具有更好的表现。与传统的液晶显示屏相比,OLED显示屏的黑色更加纯正,并且可以显示更细小的细节。OLED示波器通常具有多个通道,可以同时显示多个信号的波形。它还可以通过调整时间、电压和触发等参数,更好地观察和分析信号的特性。OLED示波器是一种使用有机发光二极管(OLED)显示屏来显示波形的仪器。我们移植了OLED示波器后可以用杜邦线接出单片机引脚,可用于查看某个模块的波形等,方便程序调试。原创 2024-07-05 16:16:18 · 420 阅读 · 0 评论 -
FreeRTOS LVGL页面切换为LCD纯手动绘制遇到的问题
由于LVGL较大,下载烧录要花上三四分钟,在经过多次调试之后,我观察发现多数情况下,OLED任务并没有卡死,虽然此时LVGL已经是异常了。在一开始我们尝试了将LVGL界面的更新任务删除,删除的同时创建一个LCD手动绘制任务,然后试图从LCD切换至LVGL界面的时候,删除LCD手动绘制任务,重新创建LVGL任务。具体流程为:用户进入需要LCD手动绘制的界面,暂停LVGL定时器,挂起LVGL任务,创建LCD手动绘制任务,结束时删除LCD手动绘制任务,恢复LVGL任务,恢复LVGL定时器。原创 2024-07-04 15:51:30 · 1130 阅读 · 0 评论 -
esp12实现的网络时钟校准
在本篇博客中,网络时间的获取是一种自动的行为,当系统成功连接WiFi获取到网络天气后,系统将自动获取并解析得到时间和日期,为了减少误差每两分钟左右进行一次校准。在网络时间成功获取后,定时器中时间计数从这个数开始,并且到达一定数目,系统自动更新上下午和日期信息。访问网络服务器校准网络时钟,需要了解服务器返回给我们的json字符串格式。可以用CJSON库进行解析,但是这里我采用手动解析。网络时间的获取是通过向第三方服务器发送GET请求获取并解析出来的。原创 2024-06-27 22:39:50 · 461 阅读 · 0 评论