keil软件调试怎么用

查看: 14688|回复: 17
如何在Keil uVision4的软件下添加.h文件
STM32F103ZET6的开发板,如何在Keil uVision4的软件下添加.h文件,并将这些文件和原来的.c文件关联起来。
自己顶一下,求哪个高手帮帮忙,过程尽量详细一点
回复【楼主位】tianyaxtujxlg
-----------------------------------------------------------------------
求哪个高手帮帮忙,过程尽量详细一点
只需要在“Options For Target ...”那里C/C++(ASM)的Include Paths指定相应的路径即可,编译器就会在那相关的路径那里找所用到的.h头文件
没太明白你的意思
只要C文件里面 include 了 .h文件
编译器就会自己找到的
回复【3楼】nazily215
-----------------------------------------------------------------------
我找到这个地方了,是所有的.h文件都放到一个文件夹里,然后在这个地方添加这个文件夹吧?
回复【4楼】fbp117
-----------------------------------------------------------------------
这个是一般系统给定好的程序加入就可以这样,要是我想自己写.h文件应该就是要自己添加了吧
回复【楼主位】tianyaxtujxlg
-----------------------------------------------------------------------
我的H文件:
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __DV14432_H
#define __DV14432_H
/* Includes ------------------------------------------------------------------*/
#include &stm32f10x_lib.h&
void JPIO_Init(void);
void delay(int d);
void LCD_WriteLByte(u8 Byte);//写PC口的低8位,高8位不变
void wr_lcd(u8 data_comm,u8 content);& & & &&&//写入LCD
void LcmInit( void );
void LcmClearTXT( void );
void LcmClearBMP( void ) ;
void Put_Str_chinese(u8 row,u8 col,u8 *puts);
void Put_One_Chinese(u8 row,u8 col,u16 c);
void Put_More_Chinese(u8 row,u8 col,u16 *puts);
我的C文件:
/*显示模块程序*/
#include &dv14432.h&
u8 AC_TABLE[16]={
0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,& && &//第一行汉字位置
0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,& && &//第二行汉字位置
#define&&comm&&0
#define&&data&&1
#define RW_0& && && && &GPIO_WriteBit(GPIOB, GPIO_Pin_14, Bit_RESET)& & //R/W=0,LCD读允许
#define RW_1& && && && &GPIO_WriteBit(GPIOB, GPIO_Pin_14, Bit_SET)& && &//R/W=1,LCD写允许
#define RS_0& && && && &GPIO_WriteBit(GPIOB, GPIO_Pin_13, Bit_RESET)& & //RS=0,向LCD写入指令
#define RS_1& && && && &GPIO_WriteBit(GPIOB, GPIO_Pin_13, Bit_SET)& && &//RS=1,向LCD输入数据
#define E_0& && && && & GPIO_WriteBit(GPIOB, GPIO_Pin_15, Bit_RESET)& & //并联模式下使能
#define E_1& && && && & GPIO_WriteBit(GPIOB, GPIO_Pin_15, Bit_SET)& && &//并联模式下使能
#define PSB& && && && & GPIO_WriteBit(GPIOB, GPIO_Pin_12, Bit_SET)
void JPIO_Init(void)
GPIO_InitTypeDef GPIO_InitS
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB |
& && && && && && && && & RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD |
& && && && && && && && & RCC_APB2Periph_GPIOE | RCC_APB2Periph_GPIOF |
& & & & & & & & & & & & & & & & & & & & & & & &&&RCC_APB2Periph_GPIOG , ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
&&GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10;
&&GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;& & & & & & & & & & & & //用作监控程序执行到哪一步来的显示灯
&&GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
&&GPIO_Init(GPIOF, &GPIO_InitStructure);
&&GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15;
&&GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;& & & & & & & & & & & & //用于PSB RS RW E
&&GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
&&GPIO_Init(GPIOB, &GPIO_InitStructure);
&&GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7;
&&GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;& & & &&&& & & && & //用作DB0~DB7
&&GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
&&GPIO_Init(GPIOC, &GPIO_InitStructure);
& & GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_8;& & & && &//PA0 PA8设置为输入
&&GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
&&GPIO_Init(GPIOA, &GPIO_InitStructure);
&&GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;& & & & & & & & & & & & & & & && &//PC13设置为输入
&&GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
&&GPIO_Init(GPIOC, &GPIO_InitStructure);
&&GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3;& & & & & & & & & & & & & & & & & & & && &//PD3设置为输入
&&GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
&&GPIO_Init(GPIOD, &GPIO_InitStructure);
void delay(int d)
&&int count = 0;
&&for ( ;d;--d)
&&for (count = 0;count&720;count++);
void LCD_WriteLByte(u8 Byte)//写PC口的低8位,高8位不变
&&u16 Data_PCL,a;
&&Data_PCL = GPIO_ReadOutputData(GPIOC);
&&Data_PCL = Data_PCL&0xFF00;&&//保留
&&a=(u16)Byte&0x00FF;
&&Data_PCL = Data_PCL |& &&&//写入
&&GPIO_Write(GPIOC,Data_PCL );
void wr_lcd(u8 data_comm,u8 content)& & & &&&//写入LCD
// CheckBusy();
if(data_comm)
&&delay(1);&&
&&LCD_WriteLByte(content);
&&delay(1);
&&LCD_WriteLByte(content);
void LcmInit( void )
& & wr_lcd(comm,0x0030);& && &//8BitMCU,基本指令集合
& & wr_lcd(comm,0x0003);& && &//AC 归0,不改变DDRAM内容
& & wr_lcd(comm,0x000C);& && &//显示 ON,游标OFF,游标位反白 OFF
& & wr_lcd(comm,0x0001);& && &//清屏,AC归 0
& & wr_lcd(comm,0x0006);& && &//写入时,游标右移动
//文本区清RAM函数
void LcmClearTXT( void )
& && &wr_lcd(comm,0x0030);& && &//8BitMCU,基本指令集合
& && &wr_lcd(comm,0x0080);& && &//AC 归起始位
& & for(i=0;i&64;i++)
& && &&&wr_lcd(data,0x0020);
//图形区和文本区显示在两个不同的RAM区
//图形区清RAM函数
void LcmClearBMP( void )
& & unsigned char i,j;
& && &wr_lcd(comm,0x0034);& && &//8Bit扩充指令集,即使是 36H也要写两次
& && &wr_lcd(comm,0x0036);& && &//绘图ON,基本指令集里面 36H 不能开绘图
& & for(i=0;i&32;i++)& && && && &//12864 实际为 256x32
& && && & wr_lcd(comm,0x0080|i);& & //行位置
& && && & wr_lcd(comm,0x0080);& && &//列位置
& && && & for(j=0;j&32;j++)& && && &&&//256/8=32 byte
& && && & wr_lcd(data,0x0000);
/*用于显示直接的字符串*/
void Put_Str_chinese(u8 row,u8 col,u8 *puts)
& & wr_lcd(comm,0x0030);& && &//8BitMCU,基本指令集合
& & wr_lcd(comm,AC_TABLE[8*row+col]);& && &//起始位置
& & while(*puts != '\0')& && &//判断字符串是否显示完毕
& && && & if(col==8)& && && &//判断换行
& && && & {& && && && && && &//若不判断,则自动从第一行到第三行
& && && && && & col=0;
& && && && && & row++;
& && && & }
& && && & if(row==2) row=0;& && &//一屏显示完,回到屏左上角
& && && & wr_lcd(comm,AC_TABLE[8*row+col]);
& && && & wr_lcd(data,*puts);& && &//一个汉字要写两次
& && && & puts++;
& && && & wr_lcd(data,*puts);
& && && & puts++;
& && && & col++;
/*用于显示用编码表示的单个汉字*/
void Put_One_Chinese(u8 row,u8 col,u16 c)
& & u8 chinese[2];
& & & & chinese[0]=& & & & (u8)((c & 0xFF00)&&8);
& & & & chinese[1]=& & & & (u8)(c & 0x00FF);
& & wr_lcd(comm,0x0030);& && &//8BitMCU,基本指令集合
& & wr_lcd(comm,AC_TABLE[8*row+col]);& && &//起始位置
& & wr_lcd(comm,AC_TABLE[8*row+col]);
& & wr_lcd(data,chinese[0]);& && &//一个字符只要要写一次
& & & & wr_lcd(data,chinese[1]);
/*用于显示用编码表示的汉字*/
void Put_More_Chinese(u8 row,u8 col,u16 *puts)
& & u16 morechinese[1];
& & & & morechinese[0] = *
& & while(morechinese[0] != 0X5C30)& && &//判断字符串是否显示完毕
& & { & & & && && &
& && && & if(col==8)& && && &//判断换行
& && && & {& && && && && && &//若不判断,则自动从第一行到第三行
& && && && && & col=0;
& && && && && & row++;
& && && & }
& && && & if(row==2) row=0;& && &//一屏显示完,回到屏左上角
& && && & Put_One_Chinese(row,col,morechinese[0]);
& && && & puts++;
& && && & col++;
& & & & & & & && &morechinese[0] = *
现在我要把这个文件添加到&&【10】I2C主机:EEPROM存储器24C02 这个工程中以用于把存储的信息进行液晶显示,但是提示出错,错误代码是:
D:\Keil\ARM\INC\ST\STM32F10x\stm32f10x_type.h(23): error:&&#256: invalid redeclaration of type name &s32& (declared at line 205 of &..\..\..\Libraries\CMSIS\Core\CM3\stm32f10x.h&)
D:\Keil\ARM\INC\ST\STM32F10x\stm32f10x_type.h:& &typedef signed long&&s32;
D:\Keil\ARM\INC\ST\STM32F10x\stm32f10x_type.h:& && && && && && && && &^
D:\Keil\ARM\INC\ST\STM32F10x\stm32f10x_type.h(27): error:&&#256: invalid redeclaration of type name &sc32& (declared at line 209 of &..\..\..\Libraries\CMSIS\Core\CM3\stm32f10x.h&)
D:\Keil\ARM\INC\ST\STM32F10x\stm32f10x_type.h:& &typedef signed long&&const sc32;&&// Read Only
D:\Keil\ARM\INC\ST\STM32F10x\stm32f10x_type.h:& && && && && && && && && && &^
D:\Keil\ARM\INC\ST\STM32F10x\stm32f10x_type.h(31): error:&&#256: invalid redeclaration of type name &vs32& (declared at line 213 of &..\..\..\Libraries\CMSIS\Core\CM3\stm32f10x.h&)
D:\Keil\ARM\INC\ST\STM32F10x\stm32f10x_type.h:& &typedef volatile signed long&&vs32;
D:\Keil\ARM\INC\ST\STM32F10x\stm32f10x_type.h:& && && && && && && && && && && &^
D:\Keil\ARM\INC\ST\STM32F10x\stm32f10x_type.h(35): error:&&#256: invalid redeclaration of type name &vsc32& (declared at line 217 of &..\..\..\Libraries\CMSIS\Core\CM3\stm32f10x.h&)
D:\Keil\ARM\INC\ST\STM32F10x\stm32f10x_type.h:& &typedef volatile signed long&&const vsc32;&&// Read Only
D:\Keil\ARM\INC\ST\STM32F10x\stm32f10x_type.h:& && && && && && && && && && && && && &^
D:\Keil\ARM\INC\ST\STM32F10x\stm32f10x_type.h(39): error:&&#256: invalid redeclaration of type name &u32& (declared at line 221 of &..\..\..\Libraries\CMSIS\Core\CM3\stm32f10x.h&)
D:\Keil\ARM\INC\ST\STM32F10x\stm32f10x_type.h:& &typedef unsigned long&&u32;
D:\Keil\ARM\INC\ST\STM32F10x\stm32f10x_type.h:& && && && && && && && &&&^
D:\Keil\ARM\INC\ST\STM32F10x\stm32f10x_type.h(43): error:&&#256: invalid redeclaration of type name &uc32& (declared at line 225 of &..\..\..\Libraries\CMSIS\Core\CM3\stm32f10x.h&)
D:\Keil\ARM\INC\ST\STM32F10x\stm32f10x_type.h:& &typedef unsigned long&&const uc32;&&// Read Only
D:\Keil\ARM\INC\ST\STM32F10x\stm32f10x_type.h:& && && && && && && && && && &&&^
D:\Keil\ARM\INC\ST\STM32F10x\stm32f10x_type.h(47): error:&&#256: invalid redeclaration of type name &vu32& (declared at line 229 of &..\..\..\Libraries\CMSIS\Core\CM3\stm32f10x.h&)
D:\Keil\ARM\INC\ST\STM32F10x\stm32f10x_type.h:& &typedef volatile unsigned long&&vu32;
D:\Keil\ARM\INC\ST\STM32F10x\stm32f10x_type.h:& && && && && && && && && && && &&&^
D:\Keil\ARM\INC\ST\STM32F10x\stm32f10x_type.h(51): error:&&#256: invalid redeclaration of type name &vuc32& (declared at line 233 of &..\..\..\Libraries\CMSIS\Core\CM3\stm32f10x.h&)
D:\Keil\ARM\INC\ST\STM32F10x\stm32f10x_type.h:& &typedef volatile unsigned long&&const vuc32;&&// Read Only
D:\Keil\ARM\INC\ST\STM32F10x\stm32f10x_type.h:& && && && && && && && && && && && && &&&^
D:\Keil\ARM\INC\ST\STM32F10x\stm32f10x_type.h(55): error:&&#101: &FALSE& has already been declared in the current scope
D:\Keil\ARM\INC\ST\STM32F10x\stm32f10x_type.h:& &typedef enum {FALSE = 0, TRUE = !FALSE}
D:\Keil\ARM\INC\ST\STM32F10x\stm32f10x_type.h:& && && && && &&&^
D:\Keil\ARM\INC\ST\STM32F10x\stm32f10x_type.h(55): error:&&#101: &TRUE& has already been declared in the current scope
D:\Keil\ARM\INC\ST\STM32F10x\stm32f10x_type.h:& &typedef enum {FALSE = 0, TRUE = !FALSE}
D:\Keil\ARM\INC\ST\STM32F10x\stm32f10x_type.h:& && && && && && && && && & ^
D:\Keil\ARM\INC\ST\STM32F10x\stm32f10x_type.h(55): error:&&#256: invalid redeclaration of type name &bool& (declared at line 237 of &..\..\..\Libraries\CMSIS\Core\CM3\stm32f10x.h&)
D:\Keil\ARM\INC\ST\STM32F10x\stm32f10x_type.h:& &typedef enum {FALSE = 0, TRUE = !FALSE}
D:\Keil\ARM\INC\ST\STM32F10x\stm32f10x_type.h:& && && && && && && && && && && && && && & ^
D:\Keil\ARM\INC\ST\STM32F10x\stm32f10x_type.h(57): error:&&#101: &RESET& has already been declared in the current scope
D:\Keil\ARM\INC\ST\STM32F10x\stm32f10x_type.h:& &typedef enum {RESET = 0, SET = !RESET} FlagStatus, ITS
D:\Keil\ARM\INC\ST\STM32F10x\stm32f10x_type.h:& && && && && &&&^
D:\Keil\ARM\INC\ST\STM32F10x\stm32f10x_type.h(57): error:&&#101: &SET& has already been declared in the current scope
D:\Keil\ARM\INC\ST\STM32F10x\stm32f10x_type.h:& &typedef enum {RESET = 0, SET = !RESET} FlagStatus, ITS
D:\Keil\ARM\INC\ST\STM32F10x\stm32f10x_type.h:& && && && && && && && && & ^
请各位大侠帮忙分析下问题出在哪里,谢谢了
回复【7楼】tianyaxtujxlg
-----------------------------------------------------------------------
这里的DV14432的这个程序已经在别的地方调试可用,用的STM32并口来控制DV14432的液晶屏,有需要的朋友也可以借鉴一下。
楼主也是这个型号的开发板啊,我也刚开始学,以后有问题得多向你们请教呢
uVison4中怎么样才可以支持msp430 TI的mcu。
可以从官网上下载个例子程序 里面有配置说明讲解的很详细的
学习了& &嘿嘿
在源码里用 #include
从开发环境配置学起吧
在软件配置中定义路径,在c文件中include “xx.h”
只需要在“Options For Target ...”那里C/C++(ASM)的Include Paths指定相应的路径即可,编译器就会在那 ...
good,深夜一直加载不上.h文件,看了兄弟的,直接就加上去了,感谢!
只需要在“Options For Target ...”那里C/C++(ASM)的Include Paths指定相应的路径即可,编译器就会在那 ...
谢了,亲测可用!
阿莫电子论坛, 原"中国电子开发网"用keil编译时怎么看程序运行的时间_百度知道
用keil编译时怎么看程序运行的时间
提问者采纳
jpg" target="_blank" title="点击查看大图" class="ikqb_img_alink"><img class="ikqb_img" src="http.baidu://c。在进入Debug后.hiphotos。<a href="http,以μS为单位。见图.jpg" esrc="http://c.hiphotos,Debug插页里.baidu。但只有在软件仿真时可以;&#39,图二绿框中所示即运行的机器周期数(States)和时间(Sec);/zhidao/wh%3D450%2C600/sign=e3fca93d564eeeaa9b2fd6e/be950dff5bfaf2b48d;for&nbsp。在Options&nbsp,点Use&nbsp.Taget&1&#39.中://c;Similation见图一.com/zhidao/pic//zhidao/wh%3D600%2C800/sign=de772ab68db1cb133e3c/be950dff5bfaf2b48d在Keil运行时可以看时间
其他类似问题
为您推荐:
keil的相关知识
其他1条回答
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁博客访问: 501537
博文数量: 229
博客积分: 2788
博客等级: 少校
技术积分: 2095
注册时间:
知之者不如好之,好之者不如乐之
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: 嵌入式
54、Keil C51软件使用方法(原创)
& & Keil简明使用方法共分6步: 第0步、
新建文件夹:在您喜欢的合适位置,新建一个用于存放您的工程文件的文件夹(如:d:\chinadpj1-1)。 第1步:打开 Keil
C51调试软件,打开后界面参考图1所示。 第2步: 新建一个工程文件: ⑴、点击进入“新建一个工程文件(Project\New
Project)”菜单,如图1。
⑵、输入相关信息:如图2。 ①、选择工程文件要存放的路径(如:d:\chinadpj1-1)。&&②、输入工程文件名(如:chinadpj1-1)。 ③、单击“保存”。
&&⑶、在弹出的对话框中选择 CPU 厂商(STC单片机也可以选Atmal,不影响编译),如图3。&&
⑷、选择好相应的型号(如Atmel 公司的 AT89C51 )后 , 单击确定,如图4。
⑸、单击“是(Yes)”, 如图5。
第3步:新建一个 C51 文件 : ⑴、点击左上角的“新建文件(File\ New… )” 菜单,如图6。
⑵、在编辑框里输入您写的程序[例如,(中国单片机网)的"天上星,眨眼睛" 演示程序:“chinadpj1-1.A”],如图7。
⑶、完成输入您写的程序后 , ①、& && && && &&&单击保存,出现“保存对话框”,如图8。
②、& && && && &&&选择保存的路径(如:d:\chinadpj1-1)。 ③、& && && && &输入保存的文件名
(如:chinadpj1-1.a)。[注意:如果,您是用汇编语言编写的程序,那么,请用“.A”的文件名] ④、& && && &&
&&&然后单击“保存”。 第4步:把保存好的此C51文件加入到工程中,方法如下(如图9):
⑴、用鼠标在 Source Group1 上单击右键 , ⑵、再单击 Add Files to Group ‘Source Group 1' ⑶、如图10:选择要加入的文件(如:chinadpj1-1.a)后 , 单击 Add, 然后单击 Close。
第5步:设置“.HEX”文件输出: ⑴、点击进入“Project\Options for Target ‘Target 1’”菜单,如图11。
& && && &⑵、弹出图12,单击 Output, 选中 Create HEX Fi.. (目的是为了生成 .hex 烧写文件,也就是写入单片机的固化程序,为将来用编程器固化程序作准备。)&&
第6步:进行编译,如图13: ⑴、点击图标(或点击Project\Rebuild all target files)进行编译。 ⑵、&&出现“*.hex文件”,就说明编译完成啦!&&
*、哈哈,下一步,就是如何把这个程序写到单片机里啦!具体怎么做?请见:《编程器使用方法》:
友情提醒:非常好用的编程器(可以配合Keil使用),特价供应邮购消息(60元),请见: [/url]
相关描述:
Keil C51软件的使用方法:
百度文库:
道客巴巴:
KeilC51常用功能模块使用说明:
阅读(2264) | 评论(0) | 转发(0) |
相关热门文章
给主人留下些什么吧!~~
请登录后评论。 |  |  | 
您所在的位置: >
> keil uvision3破解版 V8.02 安装版
keil uvision3破解版 V8.02 安装版
集成开发环境
软件类别:/
软件语言:
相关链接:
软件大小:24.25 MB
运行环境:Vista/winXP/win7/win8
软件评级:
更新时间:
手机扫一扫下载
功能强大的可视化软件开发工具
很好用的编程工具
反汇编工作的常用工具
它是 Microsoft 的第二代开发工具
最新攻略资讯
keil uvision3破解版是一款集成开发环境,由KeilSoftware公司所推出,Keil uVision3破解版增加了源代码、功能导航器、模板编辑等功能,还增添了配置向导功能,加速了启动代码和配置文件的生成,这么强大的软件有需要的朋友就快来下载吧!
破解说明:
一、下载后先解压缩包,鼠标左键双击“c51v802.exe”开始安装,直到安装结束,安装的时候最好用默认的安装路径。与原来的老板本放到相同的目录下会自动添加一个新的目录c:\keil\uv3
二、首次运行请先点击菜单file-&License&Management弹出窗口下输入注册码,
注册码由Keil_lic_v2.exe注册机生成,生成的时候选择V2选项,生成后复制LIC0内容到keil弹出窗口的New&License&ID&Code中然后点击Add&LIC,注意看看注册后的使用时间限制,如果太短可以用注册机重新生成,一般都可以找到20年左右。
三.把ccKeilVxx.exe这个文件到c:\keil\c51\bin\下面,并运行它,点击start开始修正,修正0xFD&BUG问题.
四、到此为止软件安装完毕。安装后软件界面为英文版,如果用着不方便可以安装压缩包内的汉化包,
汉化补丁使用说明:直接把压缩包内的Uv3.exe文件复制到软件的安装目录中,覆盖原文件即可;
默认安装目录在:C:\Keil\UV3。
keil uvision3破解版V8.02 安装版图片(1/1)
,软件? 软件下载后?飞翔小编十二分诚意等待着您的投诉与建议
APK文件怎么打开,下载APK文件如何安装到手机?推荐使用
软件无法下载
下载后无法使用
与描述不一致
谈谈您对该软件的看法
综合评价:}

我要回帖

更多关于 keil软件 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信