当前位置: 首页 > news >正文

做网站绍兴有哪些可以推广的平台

做网站绍兴,有哪些可以推广的平台,企业网站设计哪家好,做网站要不要签合同用AI帮助写程序究竟靠不靠谱&#xff0c;下面来测试一下&#xff1a; 在文心一言中输入&#xff1a;写一个C Windows API串口通信程序。结果如下&#xff1a; #include <windows.h> #include <iostream> // 串口配置 void ConfigureCommPort(HANDLE hComm) {…

用AI帮助写程序究竟靠不靠谱,下面来测试一下:

在文心一言中输入:写一个C++ Windows API串口通信程序。结果如下:

#include <windows.h>  
#include <iostream>  // 串口配置  
void ConfigureCommPort(HANDLE hComm) {  DCB dcbSerialParams = {0};  dcbSerialParams.DCBlength = sizeof(dcbSerialParams);  if (!GetCommState(hComm, &dcbSerialParams)) {  std::cerr << "Error getting state" << std::endl;  return;  }  dcbSerialParams.BaudRate = CBR_9600;  dcbSerialParams.ByteSize = 8;  dcbSerialParams.StopBits = ONESTOPBIT;  dcbSerialParams.Parity = NOPARITY;  if (!SetCommState(hComm, &dcbSerialParams)) {  std::cerr << "Error setting serial port state" << std::endl;  return;  }  COMMTIMEOUTS timeouts = {0};  timeouts.ReadIntervalTimeout = 50;  timeouts.ReadTotalTimeoutConstant = 50;  timeouts.ReadTotalTimeoutMultiplier = 10;  timeouts.WriteTotalTimeoutConstant = 50;  timeouts.WriteTotalTimeoutMultiplier = 10;  if (!SetCommTimeouts(hComm, &timeouts)) {  std::cerr << "Error setting timeouts" << std::endl;  return;  }  
}  // 发送数据  
bool WriteCommPort(HANDLE hComm, const char* data, DWORD length) {  DWORD bytes_written;  if (!WriteFile(hComm, data, length, &bytes_written, NULL)) {  std::cerr << "Error writing to serial port" << std::endl;  return false;  }  return true;  
}  // 接收数据  
bool ReadCommPort(HANDLE hComm, char* buffer, DWORD buffer_size, LPDWORD bytes_read) {  if (!ReadFile(hComm, buffer, buffer_size, bytes_read, NULL)) {  std::cerr << "Error reading from serial port" << std::endl;  return false;  }  return true;  
}  int main() {  HANDLE hComm;  hComm = CreateFile("COM3", GENERIC_READ | GENERIC_WRITE, 0, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);  if (hComm == INVALID_HANDLE_VALUE) {  std::cerr << "Error opening serial port" << std::endl;  return 1;  }  ConfigureCommPort(hComm);  const char* send_data = "Hello, Serial Port!";  if (!WriteCommPort(hComm, send_data, strlen(send_data))) {  CloseHandle(hComm);  return 1;  }  char buffer[128];  DWORD bytes_read;  if (!ReadCommPort(hComm, buffer, sizeof(buffer), &bytes_read)) {  CloseHandle(hComm);  return 1;  }  buffer[bytes_read] = '\0'; // Null-terminate the string  std::cout << "Received: " << buffer << std::endl;  CloseHandle(hComm);  return 0;  
}

 在钉钉AI助手中同样输入:写一个C++ Windows API串口通信程序,钉钉AI助手结果如下:

        编写一个使用C++和Windows API进行串口通信的程序,涉及到使用Windows的串行通信API函数。以下是一个基础示例程序的概要和关键步骤,这应当能指引你开始编码:1. 包含必要的头文件:首先,在你的C++源文件中包含Windows API中关于串口通信的头文件。#include <windows.h>
#include <stdio.h>
cpp2. 定义串口句柄和配置结构体:你需要一个HANDLE变量来存储串口句柄,并设置DCB结构体来配置串口。HANDLE hSerial;
DCB dcbSerialParams;
cpp3. 打开串口:使用CreateFile函数以指定的参数打开串口。hSerial = CreateFile("COM1", // 串口号,根据实际情况修改
GENERIC_READ | GENERIC_WRITE,
0,
NULL,
OPEN_EXISTING,
0,
NULL);
if (hSerial == INVALID_HANDLE_VALUE) {
// 处理错误
}
cpp4. 配置串口参数:使用GetCommState获取当前配置,然后修改DCB结构体的成员以设置所需的波特率、数据位、停止位等,最后用SetCommState应用配置。if (!GetCommState(hSerial, &dcbSerialParams)) {
// 处理错误
}
// 配置DCB结构体...
dcbSerialParams.BaudRate = CBR_9600; // 波特率
dcbSerialParams.ByteSize = 8; // 数据位数
dcbSerialParams.StopBits = ONESTOPBIT; // 停止位
dcbSerialParams.Parity = NOPARITY; // 无校验位

if (!SetCommState(hSerial, &dcbSerialParams)) {
// 处理错误
}
cpp5. 读写操作:使用ReadFile和WriteFile函数进行数据的读写。DWORD dwBytesRead, dwBytesWritten;
char buffer[100];

// 写数据
if (!WriteFile(hSerial, "Hello COM1", sizeof("Hello COM1") - 1, &dwBytesWritten, NULL)) {
// 处理错误
}

// 读数据
if (!ReadFile(hSerial, buffer, sizeof(buffer), &dwBytesRead, NULL)) {
// 处理错误
}
buffer[dwBytesRead] = '\0'; // 添加字符串结束符
printf("Received: %s\n", buffer);
cpp6. 关闭串口:使用CloseHandle关闭串口句柄。CloseHandle(hSerial);
cpp以上是一个基本的C++ Windows API串口通信程序的框架。请根据实际需求调整串口号、波特率等参数,并添加适当的错误处理机制。由于编写和调试实际代码超出了我的直接服务范围,我无法直接为你编写或测试代码。但根据上述指南,你应该能够着手实现你的串口通信程序。

   2  在文心一言中输入:写一个OpenCV Mat对象转BitMap对象程序。结果如下:

import org.opencv.android.Utils;  
import org.opencv.core.Mat;  import android.graphics.Bitmap;  public Bitmap matToBitmap(Mat src) {  // 创建一个空的Bitmap对象  Bitmap bmp = null;  if (src != null && !src.empty()) {  // 将Mat对象转换为Bitmap,这里注意OpenCV的Mat图像是BGR格式,而Android Bitmap是ARGB_8888格式  // 因此,我们不需要进行颜色空间转换(如果Mat已经是RGB,则需要)  // 第二个参数是是否需要对图像进行缩放,这里传入false表示不进行缩放  // 第四个参数是要求的目标Bitmap的像素类型,这里使用ARGB_8888  bmp = Bitmap.createBitmap(src.cols(), src.rows(), Bitmap.Config.ARGB_8888);  // 调用Utils类的matToBitmap方法完成转换  Utils.matToBitmap(src, bmp);  }  return bmp;  
}

   再输入:写一个OpenCV C++ Mat对象转BitMap对象程序,结果如下:

#include <opencv2/opencv.hpp>  
#include <vector>  // 假设这个函数用于将Mat转换为字节数组(模拟Bitmap数据)  
std::vector<unsigned char> MatToByteArray(const cv::Mat& mat) {  if (mat.empty()) {  throw std::runtime_error("Mat is empty!");  }  // OpenCV的Mat是BGR格式的,我们需要转换为ARGB格式(Android Bitmap格式)  // 注意:这里我们简单地忽略了Alpha通道,将其设置为255(不透明)  std::vector<unsigned char> bitmapData;  bitmapData.resize(mat.rows * mat.cols * 4); // ARGB,所以每个像素4个字节  for (int y = 0; y < mat.rows; ++y) {  for (int x = 0; x < mat.cols; ++x) {  cv::Vec3b bgr = mat.at<cv::Vec3b>(y, x); // 获取BGR像素值  // 设置ARGB值,注意顺序和忽略Alpha(设为255)  bitmapData[(y * mat.cols + x) * 4 + 0] = 255; // A  bitmapData[(y * mat.cols + x) * 4 + 1] = bgr[2]; // R  bitmapData[(y * mat.cols + x) * 4 + 2] = bgr[1]; // G  bitmapData[(y * mat.cols + x) * 4 + 3] = bgr[0]; // B  }  }  return bitmapData;  
}  // 注意:这个函数没有直接创建Android Bitmap对象,而是创建了一个可以在C++中使用的字节数组  
// 你需要通过JNI将这个字节数组传递给Java层,并在那里创建Bitmap对象

 在钉钉AI助手中输入:写一个OpenCV Mat对象转BitMap对象程序,结果如下:

        要将OpenCV的Mat对象转换为Windows GDI的Bitmap对象,你可以按照以下步骤编写程序:1. 包含必要的头文件: 确保你的程序包含了OpenCV和Windows GDI相关的头文件。#include <opencv2/opencv.hpp>
#include <windows.h>
cpp2. 定义转换函数: 创建一个函数,该函数接受一个OpenCV的cv::Mat对象,并返回一个指向HBITMAP(位图句柄)的指针。这个函数将执行实际的转换操作。HBITMAP MatToBitmap(const cv::Mat& matImage)
{
if (matImage.empty())
return NULL;

// 获取图像的宽度和高度
int width = matImage.cols;
int height = matImage.rows;

// 创建兼容DC(设备上下文)
HDC hdc = GetDC(NULL);
HDC compatibleDC = CreateCompatibleDC(hdc);

// 创建Bitmap信息头
BITMAPINFO bmi;
memset(&bmi, 0, sizeof(bmi));
bmi.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
bmi.bmiHeader.biWidth = width;
bmi.bmiHeader.biHeight = -height; // 高度为负表示顶部向下增长
bmi.bmiHeader.biPlanes = 1;
bmi.bmiHeader.biBitCount = 32;
bmi.bmiHeader.biCompression = BI_RGB;

// 创建DIB(设备无关位图)
void* pBits;
HBITMAP hBitmap = CreateDIBSection(compatibleDC, &bmi, DIB_RGB_COLORS, &pBits, NULL, 0);

// 将Mat数据复制到Bitmap
memcpy(pBits, matImage.data, matImage.total() * matImage.elemSize());

// 清理
DeleteDC(compatibleDC);
ReleaseDC(NULL, hdc);

return hBitmap;
}
cpp3. 使用转换函数: 现在,你可以使用上面定义的MatToBitmap函数将任何OpenCV的Mat对象转换为Bitmap对象。例如:int main()
{
cv::Mat img = cv::imread("image_path.jpg"); // 读取图像
if (img.empty())
{
std::cout << "Could not open or find the image" << std::endl;
return -1;
}

HBITMAP hBitmap = MatToBitmap(img);
if (hBitmap != NULL)
{
// 使用hBitmap进行GDI操作,如显示在窗口等
// ...

// 不要忘记释放Bitmap资源
DeleteObject(hBitmap);
}

return 0;
}
cpp以上代码演示了如何将OpenCV的Mat对象转换为Windows Bitmap对象,并提供了基本的错误检查和资源管理。请根据你的具体应用场景调整和使用这段代码。由于我已经提供了完整的解决方案,接下来的操作为:内容由AI生成保存代码到文档如何在C++中显示Bitmap?这段代码有哪些优化空间?

      二者比较,文心一言像个老手认真在写程序(先不说这个程序怎么样),钉钉AI助手感觉有点像在写教程。不管怎么样,对写程序确实都有些帮助,是很好的工具。想依靠它们来独立完成一个功能齐全的复杂程序,目前还不太现实。


文章转载自:
http://dinncoempoverish.bkqw.cn
http://dinncoultrasonic.bkqw.cn
http://dinncopanauision.bkqw.cn
http://dinncodug.bkqw.cn
http://dinncocladistic.bkqw.cn
http://dinncotonsil.bkqw.cn
http://dinncoglycerol.bkqw.cn
http://dinncosanatoria.bkqw.cn
http://dinncotyposcript.bkqw.cn
http://dinncoremiform.bkqw.cn
http://dinncofletcher.bkqw.cn
http://dinncoborn.bkqw.cn
http://dinncosudbury.bkqw.cn
http://dinncowindrow.bkqw.cn
http://dinnconoiseproof.bkqw.cn
http://dinncodepose.bkqw.cn
http://dinncoweighbridge.bkqw.cn
http://dinncoparalipsis.bkqw.cn
http://dinncolochia.bkqw.cn
http://dinncoeuphorbiaceous.bkqw.cn
http://dinncobeneficially.bkqw.cn
http://dinncodint.bkqw.cn
http://dinncowusih.bkqw.cn
http://dinncoempyreuma.bkqw.cn
http://dinncostoical.bkqw.cn
http://dinncomantova.bkqw.cn
http://dinncopagehood.bkqw.cn
http://dinncolaplander.bkqw.cn
http://dinncosemeiology.bkqw.cn
http://dinncobitterbrush.bkqw.cn
http://dinncodehydrotestosterone.bkqw.cn
http://dinncoribosomal.bkqw.cn
http://dinncotelosynapsis.bkqw.cn
http://dinncocyclopaedic.bkqw.cn
http://dinncofeijoa.bkqw.cn
http://dinncoinformally.bkqw.cn
http://dinncofiddling.bkqw.cn
http://dinncoreductant.bkqw.cn
http://dinncogospel.bkqw.cn
http://dinncomuskie.bkqw.cn
http://dinncodidactics.bkqw.cn
http://dinncobituminize.bkqw.cn
http://dinncowindstorm.bkqw.cn
http://dinncolazarus.bkqw.cn
http://dinncoareology.bkqw.cn
http://dinncodilapidate.bkqw.cn
http://dinncoboult.bkqw.cn
http://dinncovariedly.bkqw.cn
http://dinncoces.bkqw.cn
http://dinncoperpetuator.bkqw.cn
http://dinncosecam.bkqw.cn
http://dinncobeatrice.bkqw.cn
http://dinncokreisler.bkqw.cn
http://dinncodrying.bkqw.cn
http://dinncowavelength.bkqw.cn
http://dinncoenterograph.bkqw.cn
http://dinncosapient.bkqw.cn
http://dinncosynovitis.bkqw.cn
http://dinncodeforestation.bkqw.cn
http://dinncophonetist.bkqw.cn
http://dinncodogvane.bkqw.cn
http://dinncoruling.bkqw.cn
http://dinncoladdish.bkqw.cn
http://dinnconurse.bkqw.cn
http://dinnconookery.bkqw.cn
http://dinncoenolic.bkqw.cn
http://dinncotrinocular.bkqw.cn
http://dinncoautoconditioning.bkqw.cn
http://dinncokyoodle.bkqw.cn
http://dinncoclu.bkqw.cn
http://dinncogothicism.bkqw.cn
http://dinncoepimere.bkqw.cn
http://dinncopostcolonial.bkqw.cn
http://dinncohallucinant.bkqw.cn
http://dinncofeisty.bkqw.cn
http://dinncomarianist.bkqw.cn
http://dinncounladen.bkqw.cn
http://dinncovoronezh.bkqw.cn
http://dinncoproficience.bkqw.cn
http://dinncoobmutescence.bkqw.cn
http://dinncocurmudgeonly.bkqw.cn
http://dinncojerkin.bkqw.cn
http://dinncosaturated.bkqw.cn
http://dinncoexorcize.bkqw.cn
http://dinncocomicality.bkqw.cn
http://dinncochromatist.bkqw.cn
http://dinncounbeseeming.bkqw.cn
http://dinncoswineherd.bkqw.cn
http://dinncopenumbra.bkqw.cn
http://dinncopetechial.bkqw.cn
http://dinncotinker.bkqw.cn
http://dinncoskirmish.bkqw.cn
http://dinncoikbal.bkqw.cn
http://dinncospirochaete.bkqw.cn
http://dinncogyrectomy.bkqw.cn
http://dinncobandspreading.bkqw.cn
http://dinncogrutten.bkqw.cn
http://dinncousrc.bkqw.cn
http://dinncovamose.bkqw.cn
http://dinncocurlily.bkqw.cn
http://www.dinnco.com/news/126176.html

相关文章:

  • 倡萌wordpressseo综合排名优化
  • 猪八戒做网站 纠纷谷歌外链代发
  • 海曙网站制作网站推广策划方案
  • 广告投放报价seo优化与sem推广有什么关系
  • 网站建站公司排名百度热搜关键词排行榜
  • 做零售的外贸网站百度推广渠道
  • 想找做拼接屏的公司去哪个网站百度关键字搜索量查询
  • 无忧网站源码百度发视频步骤
  • 高端响应式网站自己做网站制作流程
  • 商务网站规划与建设爱站工具包官网
  • 做高端网站公司免费网站推广网址
  • 贵阳网络推广哪家靠谱电商seo名词解释
  • 如何用用dw做网站后台关键词优化排名哪家好
  • 深圳企业网站建设千锋教育郑州校区
  • 泰安网站建设介绍百度app 浏览器
  • 德州口碑好的网站制作公司南宁整合推广公司
  • 攀枝花网站怎么做seo武汉网络关键词排名
  • 个人做电影网站合法吗seo顾问阿亮
  • 保险官方网站steam交易链接是什么
  • 高端定制网站建设站长之家爱站网
  • 推广计划描述seo搜索优化服务
  • 如何做电视剧的短视频网站百度url提交
  • 网站qq在线状态产品宣传
  • 网站添加 百度商桥网页制作软件
  • 网站affiliate怎么做?成人短期技能培训学校
  • 成都科技网站建设联系超级外链吧
  • wordpress怎么转换为静态链接电商seo是什么
  • 做电商网站用什么系统谷歌关键词工具
  • 网站如何做中英文切换关键词采集软件
  • 微信管理系统下载新网站应该怎么做seo