更改树莓派的开机LOGO,屏蔽开机彩屏校验,屏蔽开机代码

当我们把树莓派的TF卡放在读卡在在Windows系统下读取的时候,发现会出现两个分区:
一个可以看到里边的文件,是boot分区,这个分区就是树莓派启动时候的分区,所有的开机启动代码都在这个分区中
另外一个分区不能查看,属于系统分区,系统所有的文件都是在这个分区中保存
我们要更改树莓派的开机动画和屏蔽一些我们不想看到的东西,就需要我们对boot分区的文件做出修改,接下来就是具体的操作了

1.屏蔽彩虹屏
彩虹屏是树莓派开机自检GPU,会在屏幕中央出现彩虹色的方块

修改boot分区下的config.txt

sudo vim /boot/config.txt

在config.txt中添加一行disable_splash=1,字面上的意思就是取消启动界面

2.屏蔽开机滚动代码

我们需要修改文件/boot/cmdline.txt

sudo vim /boot/cmdline.txt

将tty1修改为tty3,意思是将开机的滚动代码指向tty3,并添加一句loglevel=3 logo.nologo

3.更换树莓派的开机启动时的LOGO

树莓派自己的开机logo看上去是一个静态图片,所以我们可以去验证一下,在其他地方找的资料,找到了树莓派的开机logo的地址

/usr/share/plymouth/themes/pix/

终端进入这个文件地址,ls一下发现确实有一张splash.png,这应该就是开机的logo
当然我们还要看看到底是不是这个图片,外接树莓派到显示器,到文件查看器中找到这张图片,打开的确是树莓派现在的开机logo
所以我们只需要删除掉这张图片,并且把我们想显示的图片改为同名放在这个文件夹下就行

4.开机启动之后,我们如果想更换桌面背景图片,也很简单
鼠标右键,点击桌面偏好设置,有一个更改图片的选项,可以看到这个图片的文件地址,我们直接把想要显示的图片保存到刚才的地址下,然后选择就可以

  • 3
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
由于您没有提供具体的需求和环境,下面提供一个基于Keil MDK和STM32CubeMX的示例代码,可以实现读取MLX90614的温度数据,并在TFT彩屏上显示。请根据您的实际情况进行修改和调整。 首先,使用STM32CubeMX配置STM32F103RCT6的GPIO和I2C外设,并使能HAL库。具体步骤如下: 1. 打开STM32CubeMX软件,选择“New Project”新建一个工程。 2. 选择STM32F103RCT6作为芯片型号,并选择对应的库和工具链。 3. 在“Pinout & Configuration”选项卡中配置GPIO和I2C外设。例如,将SCL和SDA引脚分别配置为PB6和PB7,并使能I2C1。 4. 在“Project Manager”选项卡中生成代码并打开Keil MDK。 接下来,根据MLX90614的通信协议,编写读取温度数据的代码。示例代码如下: ```c #include "main.h" #include "stdio.h" #include "stdbool.h" #define MLX90614_ADDR 0x5A #define MLX90614_TA 0x06 #define MLX90614_TOBJ1 0x07 I2C_HandleTypeDef hi2c1; UART_HandleTypeDef huart1; TFT_HandleTypeDef htft; float readTemp(uint8_t reg); int main(void) { HAL_Init(); /* Configure the system clock */ SystemClock_Config(); /* Initialize all configured peripherals */ MX_GPIO_Init(); MX_I2C1_Init(); MX_TFT_Init(); MX_USART1_UART_Init(); /* Initialize TFT */ TFT_FillScreen(&htft, TFT_BLACK); TFT_SetFont(&htft, &FreeMonoBold9pt7b, TFT_WHITE); /* Display temperature readings */ while (true) { float ta = readTemp(MLX90614_TA); float tobj1 = readTemp(MLX90614_TOBJ1); char buf[32]; sprintf(buf, "TA: %.1f C", ta); TFT_Text(&htft, buf, 0, 0, TFT_WHITE, TFT_BLACK); sprintf(buf, "TOBJ1: %.1f C", tobj1); TFT_Text(&htft, buf, 0, 20, TFT_WHITE, TFT_BLACK); HAL_Delay(1000); } } float readTemp(uint8_t reg) { uint8_t buf[3]; HAL_I2C_Mem_Read(&hi2c1, MLX90614_ADDR, reg, 1, buf, 3, HAL_MAX_DELAY); int16_t temp = (buf[1] << 8) | buf[0]; return temp * 0.02 - 273.15; } void SystemClock_Config(void) { RCC_OscInitTypeDef RCC_OscInitStruct = {0}; RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; /** Supply configuration update enable */ HAL_PWREx_ConfigSupply(PWR_LDO_SUPPLY); /** Configure the main internal regulator output voltage */ __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1); while (!__HAL_PWR_GET_FLAG(PWR_FLAG_VOSRDY)) { } /** Initializes the RCC Oscillators according to the specified parameters * in the RCC_OscInitTypeDef structure. */ RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; RCC_OscInitStruct.HSIState = RCC_HSI_ON; RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE; if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) { Error_Handler(); } /** Initializes the CPU, AHB and APB buses clocks */ RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2; RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_HSI; RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) { Error_Handler(); } } ``` 代码中的readTemp函数通过I2C读取MLX90614的温度寄存器,并将读取到的数据转换为温度值。在主函数中,调用readTemp函数读取TA和TOBJ1的温度值,并将其显示在TFT彩屏上。为了简化代码,这里使用了一个死循环来不断读取和显示温度值,实际应用中需要根据具体需求进行修改。 最后,编译并下载代码到STM32F103RCT6上,接上MLX90614和TFT彩屏,即可实现体温检测并在彩屏上显示温度数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值