/*********************************************
函数名:Video_SwitchData(uint32_t data1, uint32_t data2)
功能:输入输出切换一对一发送给视频板函数;格式(sw,输入端口,输出端口)
data1:输入通道,0x30-0x33
data2:通道值,0x30-0x33
*********************************************/
void Video_SwitchData(uint32_t data1, uint32_t data2){
char myString[50]; // 用于存储最终字符串
char data1Str[12]; // 用于存储 data1 的字符串表示,足够存储 uint32_t 的最大值
char data2Str[12]; // 用于存储 data2 的字符串表示,足够存储 uint8_t 的最大值
// 将整数转换为字符串
sprintf(data1Str, "%u", data1);
sprintf(data2Str, "%u", data2);
sprintf(myString, "(sw,%s,%s)", data1Str, data2Str);
Usart_SendString(huart3, (uint8_t *)myString);// 通过串口发送字符串
}
扩展
sprintf函数的使用方法:sprintf
函数是C语言中一个非常有用的函数,用于将格式化的数据写入字符串。它是 printf
函数的一个变种,区别在于 printf
将格式化的输出发送到标准输出(通常是屏幕),而 sprintf
将输出写入一个字符串。
示例1:基本使用
#include <stdio.h>
int main() {
char buffer[100];
int value = 10;
float pi = 3.14159;
sprintf(buffer, "Value: %d, Pi: %.2f", value, pi);
printf("%s\n", buffer); // 输出: Value: 10, Pi: 3.14
return 0;
}
示例2:包含指针和字符串
#include <stdio.h>
int main() {
char buffer[100];
char *name = "Alice";
int age = 30;
sprintf(buffer, "Name: %s, Age: %d", name, age);
printf("%s\n", buffer); // 输出: Name: Alice, Age: 30
return 0;
}
示例3:包含多个格式说明符
#include <stdio.h>
int main() {
char buffer[100];
int hours = 10;
int minutes = 30;
float temperature = 22.5;
sprintf(buffer, "Time: %d:%02d, Temperature: %.1f°C", hours, minutes, temperature);
printf("%s\n", buffer); // 输出: Time: 10:30, Temperature: 22.5°C
return 0;
}