顾曦衣 2024-01-18 19:42 采纳率: 0%
浏览 115

keil5的结构体用–>后没有成员弹出,如何解决?(语言-c语言)

img

img

img


这里扳手标志也设置了,魔法棒的文件路径也添加了。如果是手打的成员代码会受影响吗

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2024-01-18 22:10
    关注

    【相关推荐】



    • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7430267
    • 你也可以参考下这篇文章:C语言程序:用单片机定时计数器产生高低电平脉宽不等的方波信号
    • 您还可以看一下 李飞老师的C语言开发之数据结构与算法一课程中的 查找两个链表中第一个相同的节点小节, 巩固相关知识点
    • 除此之外, 这篇博客: C语言写个简单的串口调试助手中的 总代码,直接粘贴就能用 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:

      串口设置:
      波特率:115200
      数据位:8
      校验位:None
      停止位:1
      流控:无

      #include<stdio.h>
      #include<windows.h>
      
      //*设置超时  GetCommTimeouts/SetCommTimeouts
      //*设置缓冲区大小	SetupComm()
      //* 设置串口配置信息  GetCommState()和SetCommState() 
      int setUart(HANDLE hCom)
      {
      	COMMTIMEOUTS timeouts;
      	DCB dcb;
      	
      	//读超时 
      	timeouts.ReadIntervalTimeout = 1000;		//读操作时两个字符间的间隔超时
      	timeouts.ReadTotalTimeoutMultiplier = 500;	//读操作在读取每个字符时的超时
      	timeouts.ReadTotalTimeoutConstant = 5000;	//读操作的固定超时
      	//写超时 
      	timeouts.WriteTotalTimeoutMultiplier = 0;	//写操作在写每个字符时的超时
      	timeouts.WriteTotalTimeoutConstant = 2000;	//写操作的固定超时
      	
      	SetCommTimeouts(hCom,&timeouts);
      	
      	//设置输入输出缓冲区大小
      	SetupComm(hCom,500,500);
      	
      	//设置串口参数,如波特率 
      	if (GetCommState(hCom, &dcb) == 0)
      	{
              return -1;
          }
      	
      	dcb.BaudRate = CBR_115200;	//波特率 
      	dcb.ByteSize = 8;			//数据位数 
      	dcb.Parity = NOPARITY;		//校验位 
      	dcb.StopBits = ONESTOPBIT;	//停止位 
      	
      	if(SetCommState(hCom,&dcb) == 0)
      	{
      		return -1;
      	}
      	
      	return 0;
      	 
      }
      int main()
      {
      	int i;
      	HANDLE hCom;
      	int count = 20;
      	char rbuf[501] = {0},wbuf[501] = {0};
      	DWORD rsize = 0,wsize = 0;
      	//打开串口  CreateFile函数 
      	hCom = CreateFile("COM3",GENERIC_READ |GENERIC_WRITE, 0,NULL,OPEN_EXISTING,0,NULL);
      	
      	if (hCom !=INVALID_HANDLE_VALUE)
      	{
        		printf("串口打开成功!\n");
       	}else 
      	 { 
        		printf("串口打开失败!\n");
        	} 
        	
      	//配置串口 
      	if(setUart(hCom) == -1)
      	{
      		if(INVALID_HANDLE_VALUE != hCom)
      			CloseHandle(hCom);	//关闭串口 
      	} 
      	
      	
      	//读写串口 
      	printf("开始读取串口数据\n");
      	while(1)
      	{
      		if(INVALID_HANDLE_VALUE != hCom)
      		{
      			
      			ReadFile(hCom,rbuf,count,&rsize,NULL);
      			
      			//printf("数据值:");
      			for(i = 0;i < rsize;i++)
      			{
      				printf("%c",rbuf[i]);
      			}
      			printf("\n");
      		} 
      		//WriteFile(hCom, wbuf, count, &wsize, NULL);
      		 
      	 } 
      	return 0;
       } 
      

      运行结果(连接的硬件是CC2530):

      在这里插入图片描述


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 创建了问题 1月18日