完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
void show(uint16_t [i]pBuf){u8 i=0;u8 j=0;u16 colorr1=0;for(j=0;j<8;j++){for(i=0;i<8;i++){LCD_Fill(i20,j[i]20,(i30)+30,(j*30)+30,camColors[colorr1]);colorr1++;}}}
|
|
相关推荐
1个回答
|
|
要实现将温度值转换为RGB颜色,我们首先需要定义一个函数,该函数接受温度值作为输入,并返回相应的RGB颜色。然后,我们可以在`show`函数中调用这个函数来获取颜色值并将其应用于LCD显示。
以下是实现这个功能的步骤: 1. 定义一个名为`temperatureToRGB`的函数,该函数接受一个整数类型的温度值作为输入,并返回一个包含RGB颜色值的结构体。 ```c typedef struct { uint8_t r; uint8_t g; uint8_t b; } RGBColor; RGBColor temperatureToRGB(int temperature) { // 根据温度值计算RGB颜色 // 这里只是一个示例,您可以根据需要调整颜色映射 int red = (temperature - 20) * 2.55; int green = 255 - red; int blue = 0; if (red > 255) red = 255; if (green > 255) green = 255; return (RGBColor){red, green, blue}; } ``` 2. 修改`show`函数,使其接受一个包含温度值的数组作为输入,并在循环中调用`temperatureToRGB`函数来获取每个像素点的颜色。 ```c void show(uint16_t pBuf, int temperatures[]) { uint8_t i = 0; uint8_t j = 0; for (j = 0; j < 8; j++) { for (i = 0; i < 8; i++) { RGBColor color = temperatureToRGB(temperatures[j * 8 + i]); LCD_Fill(i * 20, j * 20, (i * 30) + 30, (j * 30) + 30, color); } } } ``` 请注意,这里假设`temperatures`数组包含64个温度值(8x8),每个值对应一个像素点。您可以根据实际需求调整数组大小和颜色映射逻辑。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1574 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1519 浏览 1 评论
949 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
672 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1565 浏览 2 评论
1852浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
622浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
508浏览 3评论
514浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
494浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-15 03:17 , Processed in 0.693177 second(s), Total 80, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号