[技术讨论] ChatGPT如何写一个驱动液晶屏的代码

[复制链接]
17321|16
 楼主| kk的回忆 发表于 2023-2-25 20:07 | 显示全部楼层 |阅读模式
本帖最后由 kk的回忆 于 2023-2-25 20:20 编辑

#申请原创#

最近ChatGPT挺火的,据说可以按照要求自动写代码。以华芯微特SWM320RET7单片机为MCU,将传感器信息,比如温度,湿度,空气污染指数等信息采集后,显示在4.3寸触摸屏上面。
华芯微特SWM320RET7单片机64Pin的芯片,其中和电源相关的引脚,占了15个,有点多。还有外部晶体和复位引脚。剩余的为用户可用的GPIO,实际可用46个。
按照正常的软件编译过程,是可以参考官方例程,进行代码的修改;
需要修改LCD的分辨率和对应的RGB参数,以及SDRAM的参数等等,这些内容,都是需要根据实现功能的需求一步一步配置。随着代码的调整,是可以实现下图液晶屏显示的内容;
现在按照我给出的浅显的需求,ChatGPT一分钟就给出了软件代码,通过代码内容可以看出,包含传感器的ADC数据采集,然后送到LCD屏幕显示的功能。这些代码实现了ChatGPT描述的所有内容,对应我这样一个基本不会写代码的人,也是可以轻松实现类似跑马灯的功能(软件高手不要鄙视了)。国内的ChatGPT都是删减版本的,给出的回复信息更多的是在internet上面复制的,缺少智能的算法。下面的代码,明显带有copy的痕迹。但是对于大部分初学者,有这种类似例程的代码,也可以加快代码的学习。毕竟只要在copy代码的过程,仔细研究理解了,也是可以增长水平的。ChatGPT给出的代码,就减少了我们在网站寻找例程的过程,对库函数,宏定义这种规范化的编译降低了错误的发生。就像复旦大学张军平教授说,写英文论文,国人比较容易犯的语法错误,写的粗稿交给ChatGPT润色,随后再修改下,文章的质量就能提高。就更符合欧美人的阅读习惯。
再说到下面的代码,由于在和ChatGPT沟通的时候,没有给出具体的GPIO定义,所以对GPIO没有初始化定义,所以这段代码,是无法使用的。但是只要随着和ChatGPT沟通过程的不断深入,将需求更加细化明确,就应该能得到可以烧录使用的。
所以ChatGPT合理的利用,就能是一个不错的工具。
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include "hw_i2c.h"
  4. #include "hw_adc.h"
  5. #include "hw_gpio.h"
  6. #include "hw_timer.h"
  7. #include "hw_tft.h"

  8. //传感器定义
  9. #define I2C_ADDR_SENSOR   0x01
  10. #define SENSOR_TEMP       0x01
  11. #define SENSOR_HUM        0x02
  12. #define SENSOR_POLLUTION  0x03

  13. //TFT显示屏定义
  14. #define LCD_WIDTH 320
  15. #define LCD_HEIGH 240

  16. //函数声明
  17. void readLDSensorValue(int* temp, int* hum, int* pol);
  18. void drawSensorInformation(int temp, int hum, int pol);

  19. int main()
  20. {
  21.     int temp, hum, pol;

  22.     //设置GPIO
  23.     HW_GPIO_init();
  24.     //读取传感器值
  25.     readLDSensorValue(&temp, &hum, &pol);
  26.     //设置TFT显示屏
  27.     HW_TFT_Init();
  28.     //在TFT上绘制传感器信息
  29.     drawSensorInformation(temp, hum, pol);

  30.     return 0;
  31. }

  32. //读取传感器值
  33. void readLDSensorValue(int* temp, int* hum, int* pol)
  34. {
  35.     unsigned char data[2];

  36.     //读取温度
  37.     hwI2CReadBytes(I2C_ADDR_SENSOR, SENSOR_TEMP, data, 2);
  38.     *temp = (data[0]<<8)|data[1];

  39.     //读取湿度
  40.     hwI2CReadBytes(I2C_ADDR_SENSOR, SENSOR_HUM, data, 2);
  41.     *hum = (data[0]<<8)|data[1];

  42.     //读取环境污染值
  43.     hwI2CReadBytes(I2C_ADDR_SENSOR, SENSOR_POLLUTION, data, 2);
  44.     *pol = (data[0]<<8)|data[1];
  45. }

  46. //绘制传感器信息
  47. void drawTemperatureHumidityPollution(int temp,int hum,int pol)
  48. {
  49.     char buff[20];

  50.     //绘制温度
  51.     sprintf(buff,"Temp.  %dC",temp);
  52.     HW_TFT_UsrTextDraw(0,LCD_HEIGH-3*20, buff ,20 ,White, Black );

  53.     //绘制湿度
  54.     sprintf(buff,"Hum.  %d%%",hum);
  55.     HW_TFT_UsrTextDraw(0,LCD_HEIGH-2*20, buff ,20 ,White, Black );

  56.     //绘制环境污染度
  57.     sprintf(buff,"Polution:  %dmg/m^3",pol);
  58.     HW_TFT_UsrTextDraw(0,LCD_HEIGH-1*20, buff ,20 ,White, Black );     
  59. }


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×

评论

写代码的门槛越来越低了  发表于 2023-3-13 11:50
xyz549040622 发表于 2023-2-25 21:51 | 显示全部楼层
万一网络上没有的话,怎么办呢?
wjp86 发表于 2023-2-26 14:42 | 显示全部楼层
卧槽卧槽,这样就没有技术秘密可言了
lvyunhua 发表于 2023-2-26 17:20 | 显示全部楼层
程序时ChatGPT写的吗,实现了客户的要求吗?
 楼主| kk的回忆 发表于 2023-2-27 20:25 | 显示全部楼层
lvyunhua 发表于 2023-2-26 17:20
程序时ChatGPT写的吗,实现了客户的要求吗?

并没有实现功能,只是举个例子,毕竟对于复杂逻辑,还是需要人写的。就是觉得chatgpt有意思,发个贴讨论讨论
qbwww 发表于 2023-2-28 12:42 | 显示全部楼层
华芯微特SWM320RET7单片机64Pin的芯片,其中和电源相关的引脚,占了15个,有点多。还有外部晶体和复位引脚。剩余的为用户可用的GPIO,实际可用46个。
起点116 发表于 2023-2-28 13:02 | 显示全部楼层
如何使用Gpt有详细教程吗?
gaoyang9992006 发表于 2023-3-2 11:15 | 显示全部楼层
xyz549040622 发表于 2023-2-25 21:51
万一网络上没有的话,怎么办呢?

你可以告诉它一些代码,它会理科理解它,然后帮你完善与修改。
gaoyang9992006 发表于 2023-3-6 08:53 | 显示全部楼层
我都是写好了一大段代码,发给GPT,让它帮我分析一下,如何可以改进优化
andyxly 发表于 2023-3-6 14:32 | 显示全部楼层
楼主或已违法
manbo789 发表于 2023-3-6 15:51 | 显示全部楼层

违了哪门子法?
 楼主| kk的回忆 发表于 2023-3-6 15:53 | 显示全部楼层

为什么违法?
WayJay1 发表于 2023-3-31 11:47 | 显示全部楼层
gaoyang9992006 发表于 2023-3-6 08:53
我都是写好了一大段代码,发给GPT,让它帮我分析一下,如何可以改进优化

一样,哈哈
天意无罪 发表于 2023-3-31 12:32 | 显示全部楼层
以后一些低端的功能代码估计都是由机器来干了,人干架构设计和关键模块设计。
小o辣o椒 发表于 2023-5-10 18:22 | 显示全部楼层
我很好奇楼主,你成功了,把关键信息喂给AI后,至少点个灯把,有吗?我想康康楼主怎么喂的
andyxly 发表于 2024-4-26 14:09 | 显示全部楼层
manbo789 发表于 2023-3-6 15:51
违了哪门子法?

不违法你怎么用gpt?连都连不上
您需要登录后才可以回帖 登录 | 注册

本版积分规则

86

主题

648

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部