您现在的位置是:首页 >学无止境 >尝试使用 CSDN 创作助手,自动生成代码网站首页学无止境
尝试使用 CSDN 创作助手,自动生成代码
测试了如下:
1.函数用于将十六进制数据转换为字符串,C++
#include <iostream>
#include <sstream>
#include <bitset>
std::string hexToString(const std::string& hex) {
std::stringstream ss;
ss << std::hex << hex;
std::bitset<8> bits(ss.str());
std::string str(1, char(bits.to_ulong()));
return str;
}
int main() {
std::string hex = "68 65 6C 6C 6F";
std::string str;
std::stringstream ss(hex);
while (ss.good()) {
std::string substr;
std::getline(ss, substr, ' ');
str += hexToString(substr);
}
std::cout << str << std::endl;
return 0;
}
2.正确显示串口接收十六进制数据。
跟单片机里的那个差不多了,可能是题目写得不够清晰的原因吧。
void USART1_IRQHandler(void) {
if (USART_GetITStatus(USART1, USART_IT_RXNE) != RESET) {
uint8_t data = USART_ReceiveData(USART1);
if (data >= '0' && data <= '9') {
data -= '0';
} else if (data >= 'A' && data <= 'F') {
data -= 'A';
data += 10;
} else if (data >= 'a' && data <= 'f') {
data -= 'a';
data += 10;
} else {
// 不是16进制字符,忽略
return;
}// 转换为ASCII字符
data |= (data << 4);
USART_SendData(USART1, data);
}
}int main(void) {
// 初始化串口
USART_InitTypeDef USART_InitStructure;
USART_StructInit(&USART_InitStructure);
USART_InitStructure.USART_BaudRate = 115200;
USART_Init(USART1, &USART_InitStructure);
USART_Cmd(USART1, ENABLE);while (1) {
// 接收并显示数据
if (USART_GetFlagStatus(USART1, USART_FLAG_RXNE) == SET) {
uint8_t data = USART_ReceiveData(USART1);
USART_SendData(USART1, data);
}
}
}
不知道是不是助手代码库里的,如果是,则助手能否算得上好用的关键就是:
助手如何完全理解作者输入的中文意思,就成了助手最需要的本事。直白点说吧,比较于中文网页搜索引擎,CSDN的这个助手可能难度要高一点,因为要完全理解中文的具体意思。而中文网页引擎则把类似的搜索结果罗列了出来。懂了中文意思,就可以在代码数据库将内容取出来。
如果不是原先准备的,而是创作助手动态地生成的代码,那么,给创作助手写代码的人就可能要有写一个编译器的工作量了,语法自己定的,类似那什么易语言的。
给创作助手点个赞吧