OpenAI:ChatGPT 自动写代码功能测试
- 📌OpenAI地址:
https://platform.openai.com/playground
(需要注册才行,如何注册请自行搜索答案)
🌼测试一
- 提问:基于Keil 8051单片机串口通讯代码
- 自动生成代码如下:
#include <reg51.h>
#include <intrins.h>//定义变量
unsigned char tem_H,tem_L; //定义温度变量
unsigned char tem_value; //定义温度变量
unsigned char receive; //定义接收变量//定义函数模块
//延时函数
void Delay(unsigned int i)
{unsigned char j;while(i--){for(j=0;j<120;j++);}
}//串口发送函数
void Uart_SendByte(unsigned char dat)
{SBUF=dat;while(!TI);TI=0;
}//串口接收函数
unsigned char Uart_ReceiveByte()
{while(!RI);RI=0;return SBUF;
}//主函数
void main()
{EA=1; //开总中断ES=1; //开串口中断TMOD=0x20; //定义工作方式PCON=0X00; //波特率不乘除TH1=0XFD; //定义波特率TL1=0XFD; //定义波特率TR1=1; //启动定时器SCON=0X50; //定义工作方式while(1){tem_H=0; //温度初始化tem_L=0; //温度初始化P1=0XFF; //保持模拟量输出tem_H=P1; //将模拟量转换成数字量tem_L=P1; //将模拟量转换成数字量tem_value=(tem_H*256+tem_L); //将温度值转换成16位Uart_SendByte(tem_value); //发送温度值receive=Uart_ReceiveByte(); //接收通讯数据if(receive==0xAA) //如果接收到0xAA{P0=0XFF; //给P0端口赋值}else{P0=0X00; //给P0端口赋值}Delay(200); //延时函数}
}
🌻测试二
-
提问:
stm32g072rbt6串口1初始化配置代码
-
自动生成代码如下:
#include "usart.h"//串口1初始化
//pclk1:PCLK1时钟频率(Mhz)
//bound:波特率
void usart1_init(u32 pclk1,u32 bound)
{float temp;u16 mantissa;u16 fraction; temp=(float)(pclk1*1000000)/(bound*16);//得到USARTDIVmantissa=temp; //得到整数部分fraction=(temp-mantissa)*16; //得到小数部分 mantissa<<=4;mantissa+=fraction;RCC->APB2ENR|=1<<2; //使能PORTA口时钟 RCC->AHB2ENR|=1<<0; //使能GPIOA口时钟 GPIOA->MODER&=0XFFFFF0FF; //PA9,PA10设置GPIOA->MODER|=0X00000A00;//PA9,PA10复用功能GPIOA->AFR[1]|=0X00001100;//PA9,PA10复用为USART1//波特率设置USART1->BRR=mantissa; // 波特率设置 USART1->CR1|=0X200C; //1位停止,无校验位.USART1->CR1|=1<<3; //使能接收USART1->CR1|=1<<2; //使能发送USART1->CR1|=1<<13; //使能串口
}
🌷测试三
- 提问
stm32g072rbt6功能外设
STM32G072RBT6功能外设包括:1、模拟功能:16位sigma-delta ADC,2个12位DAC,2个放大器,2个电流计量放大器(IA),3个模拟比较器(AC),4个模拟多路复用器(AMUX);2、数字功能:2个定时器,2个定时器/计数器,2个定时器/频率计数器,2个定时器/脉冲宽度计数器,1个定时器/周期计数器,1个定时器/软件定时器,1个噪音抑制器,2个外部中断,1个电压监测器,2个温度检测器,1个看门狗定时器,1个看门狗复位,2个I2C,2个SPI,1个UART,1个USB;3、外设:1个系统控制器,1个看门狗控制器,1个CRC控制器,2个RTC,1个安全时钟,1个自动睡眠控制器,4个外部中断控制器,2个DMA控制器,1个GPIO,1个定时器比较器,1个边沿触发器,1个比较器,1个CAN控制器,1个滤波器控制器,1个比较器控制器,1个多路复用器控制器,1个多路复