keil4没有ht68fu40keil5怎么添加芯片办?一般这种芯片用什么编程。

关于keil编程问题,懂得的人来看看这是怎么了_单片机吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:120,084贴子:
关于keil编程问题,懂得的人来看看这是怎么了收藏
小弟刚学编程,今天试了下,出现了这个问题, 这是什么原因啊
实邦电子多年专注于上海单片机开发,为客户提供电子产品解决方案,已成功开发100多款产品.我们拥有多位经验的电子工程师,为您的产品提供优异的设计,稳定可靠的电路设计.
void应该是蓝色的啊 而且下面的{号变成红色的了
说明哪里有问题 但是我不知道!
另外问一下,对于新建完的这个芯片的选择有什么说法吗,是不是都可以
帮帮我啊 好心人,我现在正卡在这个问题上了 下一步进行不下去了!
帮帮我啊 好心人,我现在正卡在这个问题上了 下一步进行不下去了!
帮帮我啊 好心人,我现在正卡在这个问题上了 下一步进行不下去了!
帮帮我啊 好心人,我现在正卡在这个问题上了 下一步进行不下去了!
#include &reg51.h& //°üº¬Í·Îļþ£¬ÔÚ¡°reg51.h¡±ÉÏÓÒ¼üµ¥»÷£¬²¢´ò¿ª£¬¿ÉÒÔ¿´µ½ËüÀïÃæµÄ¶¨Òåsbit led1=P1^0; //µÚÒ»¸öledÊǺÍP1^0¿ÚÁ¬½ÓµÄ¡£sbit led3=P1^2;sbit led5=P1^4;sbit led7=P1^6;void main(){led1=0;
//²ÎÕÕµç·ͼ¿ÉÖª£¬P1^0ΪµÍµçƽ£¬¿ÉÒÔÈÃled1µãÁÁ¡£led3=0;led5=0;le
帮帮我啊 好心人,我现在正卡在这个问题上了 下一步进行不下去了!
真是的,没问题
进的加的括号要成双成对地用
这也算是keil的一种提醒 告诉你少写了个“}”
那不是错误号的意思,而是你可能双击那里了,那里存在一个终端点,你点击一下上面有一个阻止的手型符号就可以了
重装软件试试吧,以前我的也有问题,明明没写错却老有错误,最后卸载重装就好了
这没问题好吧
少了一个“}”
是因为括号只有一个,其实没问题。芯片选择一般51单片机选atmel里面的89C5X系列都可以
最后一位值不同只是代表内存不一样大
因为你用的是KEIL 4.0 。关键字的显示颜色变化了。而且你主函数,缺另半个括号。系统给你错误提示
直接看下面的错误提示
正确的说是没有对应的} 。。因为{}这是一对的 你少了 就会提示
少了个花括号,应该是这么写#include&reg52.h&void main(){}
没有单曲c文件 右击remove
一般写这个,可以参照这个模式
我去,你把令一面的}写上不就没有了吗
lz 新的一塌糊涂
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或keil uvision4 怎么没有ATMEL AT89C51 - 单片机论坛 -
中国电子技术论坛 -
最好最受欢迎电子论坛!
后使用快捷导航没有帐号?
keil uvision4 怎么没有ATMEL AT89C51
01:36:03  
19960&查看
keil uvision4 怎么没有ATMEL AT89C51,该怎么办?这是什么原因造成的呢?
(19.13 KB, 下载次数: 98)
01:35 上传
23:48:00  
本帖最后由 依然落叶飘零 于
23:50 编辑
这个原因这样的,keil uvision4 只是keil公司的一个集成开发环境。目前使用Keil uVision4的产品有Keil MDK-ARM,Keil C51,Keil C166和Keil C251。而你只装了MDK_ARM,因此找不到C51的芯片,如果想单片机则需要再装Keil C51.以前我也试过和你一样的情况。后来上网找资料才知道的。另附图片:
(9.07 KB, 下载次数: 1960)
23:50 上传
21:50:18  
解答非常正确,谢谢啦
16:23:50  
这个原因这样的,keil uvision4 只是keil公司的一个集成开发环境。目前使用Keil uVision4的产品有Keil MDK- ...
请问,keilC51直接再找这个安装包,安装在同一路径就可以了么
22:50:10  
请问,keilC51直接再找这个安装包,安装在同一路径就可以了么
是的………………………………
谢谢 解决了我的问题 安装软件本身识别路径直接安装 很方便&
等待验证会员
23:26:57  
二楼正解!按照他说的做可以解决
10:17:58  
这个原因这样的,keil uvision4 只是keil公司的一个集成开发环境。目前使用Keil uVision4的产品有Keil MDK- ...
那就是重装覆盖咯
11:43:14  
这个可以解决,你先安装keilc51再安装keilmdk在相同路劲就可以了
00:37:17  
本帖最后由 依然落叶飘零 于
00:39 编辑
那就是重装覆盖咯
如果覆盖掉,你要改一下他的配置文件TOOLS.INI.这个就在安装目录下面。现在我装了Keil5了,这支持ARM我就不把文件发给你了,至于怎么改你上网查一下就有了。就是把51和ARM的部分都加进入就行很简单。如果还弄不好再上来问我。
08:38:01  
太犀利了,赞赞赞
11:07:06  
找不到51,可以选52也没问题的
11:07:58  
非常感谢,问题得到解决
18:31:23  
谢谢楼主分享 太好了
18:31:40  
真的是太好了&&谢谢
18:32:19  
真的太好用了
18:32:35  
再也找不到这么好的东西了
18:32:48  
最后一点积分 我要了
16:01:37  
我也遇到过。。。。
20:13:56  
这个原因这样的,keil uvision4 只是keil公司的一个集成开发环境。目前使用Keil uVision4的产品有Keil MDK-ARM,Keil C51,Keil C166和Keil C251。而你只装了MDK_ARM,因此找不到C51的芯片,如果想单片机则需要再装Keil C51.以前我也试过和你一样的情况。后来上网找资料才知道的。另附图片:
真是详细啊。很OK了
17:29:19  
完美解决了我的问题,赞
Powered by有人知道keil4怎么改芯片吗?_stm32吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:20,282贴子:
有人知道keil4怎么改芯片吗?收藏
一开始新建工程的时候芯片选错了,后面程序都搞好了,要怎么改芯片设置呢?求教~
STMCU原厂合作,stm32开发板在线购买平台,STM32全国研讨会倒计时,多重好礼领回家!
本人新上手stm32来混个脸熟问个问题。希望好心人不吝赐教
在设备里改
optionfor target 中 device
魔术棒里面
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或查看: 20724|回复: 3
在 Keil uVision4 MDK下配置开发STM32F103Z完整教程
环境搭建:
1、安装 Keil uVision4 MDK 略2、安装 J-Link 安装 Setup_JLinkARM_V4501.exe 驱动时,会弹出【SEGGER J-Link DLL Updater V4.501 】对话框,不要选择 Keil 直接点击OK即可,因为Keil对支持M3内核SW接口采用了JL2CM3.dll 这个文件,该文件的版本号是和该目录下Jlink驱动版本号配套的,不要擅自改变他们,否则不能使用。 建立工程:1、在桌面上建立一个文件夹【MyStm32】文件夹2、在【MyStm32】文件夹下建立【USER】、【FWlib】、【CMSIS】、【Output】、【Listing】文件夹。& & & & 【USER】:存放用户自定义的应用程序& & & & 【FWlib】:存放库文件& & & & 【CMSIS】:存放M3系列单片机通用的文件& & & & 【Output】:存放编译器编译后输出的文件& & & & 【Listing】:编译器编译过程中产生的文件3、将STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver 的【inc】跟【src】& & & & 这两个文件夹拷贝到【FWlib】。& & & & 【inc】、【src】片上外设驱动的源文件和头文件。4、\STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template 下的& & & & main.c、stm32f10x_conf.h、stm32f10x_it.h、stm32f10x_it.c 、system_stm32f10x.c 拷贝到【USER】 & & & & stm32f10x_conf.h:配置文件& & & & stm32f10x_it.h、stm32f10x_it.c:中断函数文件。& & & & system_stm32f10x.c:ARM公司提供的符合CMSIS标准的库文件5、STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup的& & & & 【arm】文件夹的拷贝到 MyStm32\CMSIS\startup。& & & & 这些都是用汇编编写的驱动文件,STM32F103ZE芯片是大容量Flash,应选择startup_stm32f10x_hd.s6、STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport 的 core_cm3.c 和 core_cm3.h & & & & 也拷贝到【CMSIS】文件夹下。7、STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x 的 & & & & stm32f10x.h、system_stm32f10x.c、system_stm32f10x.h 拷贝到【CMSIS】文件夹下。 8、用keil MDK 建立工程文件到【USER】文件夹下,工程名为【STM32-DEMO】& & & & 在该工程下建立四个组:& & & & 【STARTCODE】:存放启动代码 添加 startup_stm32f10x_hd.s 文件& & & & 【USER】:存放用户自定义的应用程序 添加main.c、stm32f10x_it.c& & & & 【FWlib】:存放库文件 按需添加src里面的驱动文件& & & & 【CMSIS】:存放M3系列单片机通用的文件 添加core_cm3.c、system_stm32f10x.c
添加 USE_STDPERIPH_DRIVER 是为了屏蔽编译器的默认搜索路径,转而使用我们添加到工程中的 ST 的库,添加 STM32F10X_HD 是因为我们用的芯片是大容量的,添加了STM32F10X_HD 这个宏之后,库文件里面为大容量定义的寄存器我们就可以用了。芯片是小或中容量的时候宏要换成STM32F10X_LD或者STM32F10X_MD。其实不管是什么容量的,
& & 我们只要添加上 STM32F10X_HD 这个宏即可,当你用小或者中容量的芯片时,那些为大容量定义的寄存器我不去访问就是了,反正也访问不了。
流水灯实验:
只用到 配置GPIO功能和配置时钟功能,所以在 stm32f10x_conf.h
只需要包含两个头文件即可:
#include &stm32f10x_gpio.h&
#include &stm32f10x_rcc.h&
流水灯流程:
& & & & 1、开启指定GPIO的外设时钟 -& RCC_APB2PeriphClockCmd()
& & & & 2、设置 GPIO_InitTypeDef 指定引脚、工作状态、输出频率
& & & & 3、根据 调用GPIO_Init() 初始化IO -& GPIO_Init()
& & & & 4、设置IO输出高低电平,实现控制LED灯的亮灭。
#include &led.h&& & & &
void LED_GPIO_Config(void)
& & & & // 定义一个 GPIO_InitTypeDef 类型的结构体
& & & & GPIO_InitTypeDef GPIO_InitS
& & & & // 开启 GPIOC 的外设时钟
& & & & RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOC, ENABLE);
& & & & // 选择要控制的 GPIOC 引脚
& & & & GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5;
& & & & // 设置引脚模式为通用推挽输出
& & & & GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
& & & & // 设置引脚速率为 50Mhz
& & & & GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
& & & & // 调用库函数,初始化GPIOC
& & & & GPIO_Init(GPIOC, &GPIO_InitStructure);
& & & & // 设置GPIOC3、GPIOC4、GPIOC5 为高电平
& & & & GPIO_SetBits(GPIOC, GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5);
#ifndef __LED_H
#define __LED_H
#include &stm32f10x.h&
#include &stm32f10x_rcc.h&
#define ON& & & & 0
#define OFF& & & & 1
//带参宏,可以向联函数一样使用
#define& & & & LED1(a) if(a) \
& & & & & & & & & & & & & & & & & & & & GPIO_SetBits(GPIOC, GPIO_Pin_3);\
& & & & & & & & & & & & & & & & else&&\
& & & & & & & & & & & & & & & & & & & & GPIO_ResetBits(GPIOC, GPIO_Pin_3)
#define& & & & LED2(a) if(a) \
& & & & & & & & & & & & & & & & & & & & GPIO_SetBits(GPIOC, GPIO_Pin_4);\
& & & & & & & & & & & & & & & & else&&\
& & & & & & & & & & & & & & & & & & & & GPIO_ResetBits(GPIOC, GPIO_Pin_4)
#define& & & & LED3(a) if(a) \
& & & & & & & & & & & & & & & & & & & & GPIO_SetBits(GPIOC, GPIO_Pin_5);\
& & & & & & & & & & & & & & & & else&&\
& & & & & & & & & & & & & & & & & & & & GPIO_ResetBits(GPIOC, GPIO_Pin_5)
void LED_GPIO_Config(void);
#include &stm32f10x.h&
#include &led.c&
void Delay(__IO u32 nCount)
& & & & for(; nCount !=0; nCount--);& & & &
int main(void)
& & & & LED_GPIO_Config();
& & & & while (1)
& & & & & & & & LED1(ON);
& & & && & & & & & Delay(0x0FFFEF);
& & & & & & & & LED1(OFF);
& & & && & & & & & Delay(0x0FFFEF);
-----------------------------------------------------------------------
1.&&typedef enum&&
3.& & GPIO_Speed_10MHz = 1, //枚举常量,值为 1,代表输出速率最高为 10MHz& &
4.& & GPIO_Speed_2MHz,& && &//对不赋值的枚举变量,自动加 1,此常量值为 2& &
5.& & GPIO_Speed_50MHz& && &//常量值为 3& &
6.&&}GPIOSpeed_TypeDef
1.&&typedef enum&&
2.&&{GPIO_Mode_AIN = 0x0,& && && &&&//模拟输入模式& &
3.& & GPIO_Mode_IN_FLOATING = 0x04,&&//浮空输入模式& &
4.& & GPIO_Mode_IPD = 0x28,& && && & //下拉输入模式& &
5.& & GPIO_Mode_IPU = 0x48,& && && & //上拉输入模式& &
6.& & GPIO_Mode_Out_OD = 0x14,& && & //开漏输出模式& &
7.& & GPIO_Mode_Out_PP = 0x10,& && & //通用推挽输出模式& &
8.& & GPIO_Mode_AF_OD = 0x1C,& && &&&//复用功能开漏输出& &
9.& & GPIO_Mode_AF_PP = 0x18& && && &//复用功能推挽输出& &
10.&&}GPIOMode_TypeD
1.&&typedef struct&&
3.& & uint16_t GPIO_P& && && && & /*指定将要进行配置的 GPIO 引脚*/&&
4.& & GPIOSpeed_TypeDef GPIO_S&&/*指定 GPIO 引脚可输出的最高频率*/&&
5.& & GPIOMode_TypeDef GPIO_M& & /*指定 GPIO 引脚将要配置成的工作状态*/&&
6.&&}GPIO_InitTypeD&&
31.& && &/*选择要控制的 GPIOC 引脚*/& && && && && && && && && && && && && && && && && && && && && &
32.& && &GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5;& &
34.& && &/*设置引脚模式为通用推挽输出*/&&
35.& && &GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;& && &
37.& && &/*设置引脚速率为 50MHz */& && &
38.& && &GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
-----------------------------------------------------------------------
GPIO控制:
void GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_InitStruct);
功能:根据 GPIOx 初始化GPIO
参数1:允许指为 GPIOA、GPIOB、GPIOC...GPIOG
参数2:GPIO_InitTypeDef 类型的指针,包含了指定引脚、输出工作状态和频率
40.& && &/*调用库函数,初始化 GPIOC*/&&
41.& && &GPIO_Init(GPIOC, &GPIO_InitStructure);
void GPIO_SetBits&&( GPIO_TypeDef *&&GPIOx, uint16_t&&GPIO_Pin)
功能:设置GPIO引脚输出高电平
参数1:允许指为 GPIOA、GPIOB、GPIOC...GPIOG
参数2:要控制的引脚号 Pin0~Pin15
void GPIO_ResetBits&&( GPIO_TypeDef *&&GPIOx, uint16_t&&GPIO_Pin)
功能:设置GPIO引脚输出低电平
参数1:允许指为 GPIOA、GPIOB、GPIOC...GPIOG
参数2:要控制的引脚号 Pin0~Pin15
-----------------------------------------------------------------------
外设时钟控制:
void RCC_APB2PeriphResetCmd&&( uint32_t&&RCC_APB2Periph,&&FunctionalState&&NewState)
功能:开启或关闭的挂接在APB2总线上的外设时钟
& & & & RCC_APB2Periph_AFIO,
& & & & RCC_APB2Periph_GPIOA,
& & & & RCC_APB2Periph_GPIOB,
& & & & RCC_APB2Periph_GPIOC,
& & & & RCC_APB2Periph_GPIOD,
& & & & RCC_APB2Periph_GPIOE,
& & & & RCC_APB2Periph_GPIOF,
& & & & RCC_APB2Periph_GPIOG,
& & & & RCC_APB2Periph_ADC1,
& & & & RCC_APB2Periph_ADC2,
& & & & RCC_APB2Periph_TIM1,
& & & & RCC_APB2Periph_SPI1,
& & & & RCC_APB2Periph_TIM8,
& & & & RCC_APB2Periph_USART1,
& & & & RCC_APB2Periph_ADC3,
& & & & RCC_APB2Periph_TIM15,
& & & & RCC_APB2Periph_TIM16,
& & & & RCC_APB2Periph_TIM17,
& & & & RCC_APB2Periph_TIM9,
& & & & RCC_APB2Periph_TIM10,
& & & & RCC_APB2Periph_TIM11
参数2:使能外设时钟或关闭外设时钟
& & & & ENABLE or DISABLE
void RCC_APB1PeriphClockCmd&&( uint32_t&&RCC_APB1Periph, FunctionalState&&NewState)
功能:开启或关闭的挂接在APB2总线上的外设时钟
& & & & RCC_APB1Periph_TIM2,
& & & & RCC_APB1Periph_TIM3,
& & & & RCC_APB1Periph_TIM4,
& & & & RCC_APB1Periph_TIM5,
& & & & RCC_APB1Periph_TIM6,
& & & & RCC_APB1Periph_TIM7,
& & & & RCC_APB1Periph_WWDG,
& & & & RCC_APB1Periph_SPI2,
& & & & RCC_APB1Periph_SPI3,
& & & & RCC_APB1Periph_USART2,
& & & & RCC_APB1Periph_USART3,
& & & & RCC_APB1Periph_USART4,
& & & & RCC_APB1Periph_USART5,
& & & & RCC_APB1Periph_I2C1,
& & & & RCC_APB1Periph_I2C2,
& & & & RCC_APB1Periph_USB,
& & & & RCC_APB1Periph_CAN1,
& & & & RCC_APB1Periph_BKP,
& & & & RCC_APB1Periph_PWR,
& & & & RCC_APB1Periph_DAC,
& & & & RCC_APB1Periph_CEC,
& & & & RCC_APB1Periph_TIM12,
& & & & RCC_APB1Periph_TIM13,
& & & & RCC_APB1Periph_TIM14
参数2:使能外设时钟或关闭外设时钟
& & & & ENABLE or DISABLE
【注意】:如果用到了I/O引脚的复用功能,则还要开启其复用功能的时钟。
如GPIOC的Pin4还可以作为ADC1的输入引脚,我们把它作为ADC1来使用,
那么除了要开启GPIOC时钟外,还需要开启ADC1的时钟。
例子:& & & &
& & & & RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOC, ENABLE);
& & & & RCC_APB2PeriphClockCmd( RCC_APB2Periph_ADC1, ENABLE);
-----------------------------------------------------------------------
-----------------------------------------------------------------------
启动文件:startup_stm32f10x_hd.s
1.&&;Reset_Handler 子程序开始&&芯片被复位的时候会执行&&
2.&&Reset_Handler& &PROC& && &
3.& && && &
4.& &;输出子程序 Reset_Handler 到外部文件& &
5.& && && && && &&&EXPORT&&Reset_Handler& && && && &[WEAK]& &
7.&&;从外部文件中引入 main 函数& &
8.& && && && &IMPORT&&__main& &
10.&&;从外部文件引入 SystemInit 函数& && && && && && && && && && && && && &
11.& && && && &IMPORT&&SystemInit
12.& && && && && && && &
13.&&;把 SystemInit 函数调用地址加载到通用寄存器 r0& &
14.& && && && && && &LDR& &&&R0, =SystemInit& &&&
15.& && && &
16.&&;跳转到 r0 中保存的地址执行程序(调用 SystemInit 函数 用于设置系统时钟)& &
17.& && && && && && &BLX& &&&R0& && && && &&&
18.& && && && && &
19.&&;把 main 函数调用地址加载到通用寄存器 r0& &
20.& && && && && && &LDR& &&&R0, =__main& &&&
22.&&;跳转到 r0 中保存的地址执行程序(调用 main 函数)& && && &
23.& && && && && && &BX& && &R0& &
24.& && && && && && && && &
25.&&;Reset_Handler 子程序结束& &
26.& && && && && && &ENDP&&
启动代码中,它会调用SystemInit(),SysteInit()会先将与配置时钟相关的寄存器复位为默认值。
然后它再调用SetSysClock()函数:
1.&&static void SetSysClock(void)& &
3.&&#ifdef SYSCLK_FREQ_HSE& &
4.& & SetSysClockToHSE();& &
5.&&#elif defined SYSCLK_FREQ_24MHz& &
6.& & SetSysClockTo24();& &
7.&&#elif defined SYSCLK_FREQ_36MHz& &
8.& & SetSysClockTo36();& &
9.&&#elif defined SYSCLK_FREQ_48MHz& &
10.& & SetSysClockTo48();& &
11.&&#elif defined SYSCLK_FREQ_56MHz& &
12.& & SetSysClockTo56();& &&&
13.&&#elif defined SYSCLK_FREQ_72MHz& &
14.& & SetSysClockTo72();& && & & & & & & & // 配置相关寄存器
15.&&#endif& &
SetSysClock()才是真正配置系统时钟函数,会根据宏来进行不同频率的配置。
由system_stm32f10x.c文件启用宏。
1.&&#if defined (STM32F10X_LD_VL) || (defined STM32F10X_MD_VL) || (defined STM32F10X_HD_VL)& &
2.&&/* #define SYSCLK_FREQ_HSE& & HSE_VALUE */&&
3.& &#define SYSCLK_FREQ_24MHz&&& &
4.&&#else& &
5.&&/* #define SYSCLK_FREQ_HSE& & HSE_VALUE */&&
6.&&/* #define SYSCLK_FREQ_24MHz&& */& &
7.&&/* #define SYSCLK_FREQ_36MHz&& */&&
8.&&/* #define SYSCLK_FREQ_48MHz&& */&&
9.&&/* #define SYSCLK_FREQ_56MHz&& */&&
10.&&#define SYSCLK_FREQ_72MHz&&& &
11.&&#endif
-----------------------------------------------------------------------
 跟着楼主教程学习,谢谢!
 跟楼主学习
跟楼主学习,谢谢!
Powered bykeil怎么添加Stm32芯片_百度知道

我要回帖

更多关于 单片机编程软件keil 的文章

 

随机推荐