/*********************************************
函数名: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.14return 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: 30return 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°Creturn 0;
}