xuyapple 发表于 2011-12-10 23:28:26

谢谢楼主分享^
我一直都是在VC2008里写代码,在Keil里编译,嘻嘻~

Dalong357 发表于 2011-12-11 14:43:54

mark

kingvole 发表于 2011-12-11 17:05:28

mark

zhaoliang056 发表于 2011-12-14 14:26:26

mark

skyfight 发表于 2011-12-14 16:18:22

支持持一下。

hong_hong789 发表于 2011-12-15 15:45:14

mark

expressme 发表于 2011-12-15 21:20:48

回复【楼主位】elecfun 熊
-----------------------------------------------------------------------

vs2008 MCU程序

miyadai 发表于 2011-12-16 09:04:07

用TKStudio V4.0呀~好使!不忽悠!

elecfun 发表于 2011-12-16 20:50:41

回复【206楼】miyadai
用tkstudio v4.0呀~好使!不忽悠!
-----------------------------------------------------------------------

用了VS,你就知道TKS就是浮云~~

ahong2hao 发表于 2011-12-30 14:44:56

mark

zhaoliang056 发表于 2011-12-30 19:51:03

文章中出现的不同之处:
1、添加时:再次添加一个外部工具 链接器 LX51(KEIL\C51\BIN下)对应图片 (原文件名:10.png)(原文件名:11.png)
2、运行时:没有错误后点第二工具BL51.EXE链接 对应图片 (原文件名:4.png)
我费解啦,我对编译器不太了解,忘解惑
还有我用的是vc++6.0,在编译第二个的时候,出现can't find XXX.在网上又找半天还是没招,希望大侠们给点技术支持

zhaoliang056 发表于 2011-12-30 19:54:40

补充一下,出现can't find XXX.abs
我在编辑上面这句话时,光标点错位置啦./emotion/em039.gif

elecfun 发表于 2011-12-30 20:12:07

回复【209楼】zhaoliang056
文章中出现的不同之处:
1、添加时:再次添加一个外部工具 链接器 lx51(keil\c51\bin下)对应图片 (原文件名:10.png)(原文件名:11.png)
2、运行时:没有错误后点第二工具bl51.exe链接 对应图片 (原文件名:4.png)
我费解啦,我对编译器不太了解,忘解惑
还有我用的是vc++6.0,在编译第二个的时候,出现can't find xxx.在网上又找半天还是没招,希望大侠们给点技术支持

-----------------------------------------------------------------------



这种方式太麻烦了,每次要点三次,建议你使用批处理的方式。

xld007 发表于 2011-12-30 21:34:54

mark

cpwander 发表于 2011-12-30 22:01:28

好,谢谢楼主分享^

zhaoliang056 发表于 2011-12-30 22:19:31

回复【211楼】elecfun 熊
回复【209楼】zhaoliang056   
文章中出现的不同之处:
1、添加时:再次添加一个外部工具 链接器 lx51(keil\c51\bin下)对应图片 (原文件名:10.png)(原文件名:11.png)
2、运行时:没有错误后点第二工具bl51.exe链接 对应图片 (原文件名:4.png)
我费解啦,我对编译器不太了解,忘解惑
还有我用的是vc++6.0,在编译第二个的时候,出现can't find xxx.在网上又找半天还是没招,希望大侠们给点技术支持
-----------------------------------------------------------------------
这种方式太麻烦了,每次要点三次,建议你使用批处理的方式。

--------------------------------------------------------------------
谢谢elecfun 熊 ,批处理可以用

yhy630 发表于 2012-1-1 15:24:53

mark,教你利用Visual Studio的智能提示,快速编写C51代码

chenxh515 发表于 2012-1-1 17:17:31

good

zhaoliang056 发表于 2012-1-1 22:51:12

我经过对楼主的方法研究,在VC++6.0中进行操作,一些小经验,希望能够补充一下,毕竟VC++6.0还是比较经典
   设置如下:
      1、环境变量如文中所述,
      2、添加外部工具:在标题中填写工具名称(设为C51)。在 命令 输入框中填入第一个工具C51.EXE(keil安装路径下KEIL\C51\BIN)的绝对路径,也可点后面的 … 按钮,以图形化的方式添加。参数栏填入$(FilePath) ,即当前文件的路径(绝对路径,包括文件名称和后缀),也可以点后面的三角按键,选 文件路径。初始目录为空。钩选 使用输出窗口 , 提示变量 和 退出时关闭窗口 不钩选。即完成第一个工具 编译器 的添加。 再次添加一个外部工具 链接器 LX51(KEIL\C51\BIN下),参数为$(FileName).obj TO $(FileName).abs,也可以点后面的三角按键,选文件名称,后缀及TO要自己添加。再添加第三个HEX文件生成工具Ohx51.exe,参数$(FileName).abs,其它同上。都完成后点关闭就可以啦。
   3、把三个工具添加到工具栏操作,大致相同,相信都能看懂
   4、批处理是文件目录不能出现空格。如Program Files,我试了几次都不行,后来从装了一次,直接安装在E盘中。
   5、全部设置完之后一定要重启电脑,才能应用。

elecfun 发表于 2012-1-3 19:47:29

回复【217楼】zhaoliang056
-----------------------------------------------------------------------
谢谢你的支持。

VC6.0中其实也差不多,只是参数关键字变了。

添加三个工具比较麻烦,建议你使用调用批处理的方式,这样只用点一次就行。

批处理文件(.bat文件)内容,参数也是 $(ItemDir)$(ItemFileName)
SET C51INC=C:\Keil\C51\INC\Atmel\;C:\Keil\C51\INC\
SET C51LIB=C:\Keil\C51\LIB
SET CPU_TYPE=AT89S52
SET CPU_VENDOR=Atmel

"C:\Keil\C51\BIN\C51.EXE" %1.c
"C:\Keil\C51\BIN\LX51.EXE" %1.obj TO %1.abs
"C:\Keil\C51\BIN\OHX51.EXE" %1.abs
@echo off
DEL %1.obj
DEL %1.abs
DEL %1.map
DEL %1.lst

文件路径包含空格的问题我昨天又研究过,是LX51.exe不能识别,其它都正常。但KEIL可以使用包含空格的路径,这个问题还要再研究下。

昨天装了EditPlus,小巧,反应也挺快。
用EditPlus调用批处理文件的设置如下:
http://cache.amobbs.com/bbs_upload782111/files_49/ourdev_710006FOSW1R.png
(原文件名:EP1.png)


要实现Keil里双击出错信息跳到出错文件位置,可以点击“输出模板”,填写正则表达式:“LINE (*) OF (.+[^']):”,注意不包含引号。文件名选“标记表达式2”(即第2个圆括弧里的内容,“OF ”后面直到第一个“:”前的内容),行号选“标记表达式1”(即第1个圆括弧里的内容,“LINE ”后面的任意位数字)。
此处参考帖子让小巧的EditPlus成为你的IDE(编译,跳到出错行)
http://cache.amobbs.com/bbs_upload782111/files_49/ourdev_710007JW8I2L.png
(原文件名:ED2.png)

wuguoyan 发表于 2012-1-4 13:23:22

mark

crose0106 发表于 2012-1-4 17:01:09

mark.

bsz84 发表于 2012-1-4 18:10:25

下手太迟了,已经不能下载了

slyz 发表于 2012-1-4 18:59:00

mark!!!!

windingway 发表于 2012-1-4 19:29:22

不错,受教了!

greatwall2 发表于 2012-1-4 19:48:46

这帖不错,估计是因为今天那个说TKStudio的帖子才挖出来的。。。

pspike 发表于 2012-1-4 21:35:23

mark

tyqhaha 发表于 2012-1-5 09:09:38

c-free也不错

zzz1367 发表于 2012-1-5 09:42:44

谢谢

danielmi 发表于 2012-1-5 19:05:10

mark下,有机会用到就翻出来!!!

catshit_one 发表于 2012-1-5 20:18:25

回复【207楼】elecfun 熊
-----------------------------------------------------------------------

写程序变舒服了

catshit_one 发表于 2012-1-5 22:09:26

能不能让比如reg51.h文件名,端口P1^1也能提示

Onsunsl 发表于 2012-1-5 22:13:44

能把Flash download功能加上是最好的

catshit_one 发表于 2012-1-5 22:20:57

不会报错怎么办

elecfun 发表于 2012-1-5 22:31:42

回复【231楼】catshit one
能不能让比如reg51.h文件名,端口p1^1也能提示
-----------------------------------------------------------------------


不行。你用AT89X51.h头文件,直接使用P1_1的形式,倒是可以自动记录历史。

http://cache.amobbs.com/bbs_upload782111/files_50/ourdev_710626RYV8MJ.png
(原文件名:1.png)

elecfun 发表于 2012-1-5 22:41:07

回复【232楼】Onsunsl金平合吾
能把flash download功能加上是最好的
-----------------------------------------------------------------------

使用的芯片不一样,下载软件不一样。
其实下载软件如STCISP、Progisp都有 目标文件改变自动下载 的功能。
如果是STC的芯片的话,我推荐另外一个下载软件MCUISP,界面比STCISP好多了。唯一的问题是部分USB转串口下载经常失败。

点击此处下载 ourdev_710627ESFQIS.RAR(文件大小:613K) (原文件名:MCUISPV5.2.RAR)


http://cache.amobbs.com/bbs_upload782111/files_50/ourdev_710628E6XBW0.png
(原文件名:mcuisp.png)

yuzr 发表于 2012-1-6 12:24:04

mark

Onsunsl 发表于 2012-1-6 13:32:55

就是多点几下,有点麻烦

yangpeng 发表于 2012-1-6 13:52:55

楼主强人!多多学习!不知道次方法能否用在STM32的代码编辑上???

elecfun 发表于 2012-1-8 18:55:44

回复【237楼】Onsunsl金平合吾
就是多点几下,有点麻烦
-----------------------------------------------------------------------

用第二种批处理文件的方式,点一次就行了

elecfun 发表于 2012-1-8 18:58:48

回复【238楼】yangpeng
楼主强人!多多学习!不知道次方法能否用在stm32的代码编辑上???
-----------------------------------------------------------------------

可以用VS打开.c文件编辑的,提示功能是有记忆的,写过一次,以后就直接有提示。如果需要提示某个文件里的内容如库函数,把该文件打开一次就行了。但编译还是要到MDK里。
我目前写STM32的程序就是在VS里写的

wlmysx1 发表于 2012-1-8 21:05:12

以前学过C#,现在只会用KEIL,想不到这些也都能行。什么时候试试。

Zhhu218 发表于 2012-1-12 14:52:14

才入门,用到的平台不多,收藏待以后用。

wblqx 发表于 2012-1-12 15:36:25

不错的教程。

Super_C 发表于 2012-1-13 16:08:26

mark.

comway 发表于 2012-1-13 16:44:34

UE

glove 发表于 2012-2-9 12:12:26

楼主有没有电子密码锁的C语言程序呢?

elecfun 发表于 2012-3-24 01:23:32

glove 发表于 2012-2-9 12:12 static/image/common/back.gif
楼主有没有电子密码锁的C语言程序呢?

有的, 我找找看

donglaile 发表于 2012-3-24 11:54:36

学网页的时候装过vs,看到楼主的方法想试试,结果
d:\My Documents\Desktop\20\test.obj TO d:\My Documents\Desktop\20\test.abs
*** ERROR L210: I/O ERROR ON INPUT FILE:
    EXCEPTION 0021H: PATH OR FILE NOT FOUND
    FILE: D:\MY
:L

elecfun 发表于 2012-3-24 13:33:47

donglaile 发表于 2012-3-24 11:54 static/image/common/back.gif
学网页的时候装过vs,看到楼主的方法想试试,结果
d:\My Documents\Desktop\20\test.obj TO d:\My Document ...

文件路径中不能包含空格

donglaile 发表于 2012-3-27 22:14:18

LX51 LINKER/LOCATER V3.51p - SN: K1DZP-5IUSHE
谢谢!还是有问题。。。不折腾啦{:sad:}
COPYRIGHT KEIL ELEKTRONIK GmbH 1995 - 2002
G:\vs\test.objTOG:\vs\test.abs
*** ERROR L210: I/O ERROR ON INPUT FILE:
    EXCEPTION 0021H: PATH OR FILE NOT FOUND
    FILE: G:\VS\TEST.OBJTOG:\VS\TEST.ABS

sungngai 发表于 2012-3-29 01:51:06

mark!!!{:smile:}{:smile:}{:smile:}

elecfun 发表于 2012-4-2 21:26:05

donglaile 发表于 2012-3-27 22:14 static/image/common/back.gif
LX51 LINKER/LOCATER V3.51p - SN: K1DZP-5IUSHE
谢谢!还是有问题。。。不折腾啦
COPYRIGHT KEIL E ...

对于目录中包含空格的问题已经找到解决方案了。

在设置外部工具时,参数修改成 文件名称,如VS中应该是 $(ItemFileName),而初始目录一定要设置,为文件路径,VS中是$(ItemDir)。
如VS中是这样:


NotePad中是这样设置:



你的这个问题就该是TO 前后没有用空格隔开。
你用这个批处理代码:SET C51INC=C:\Keil\C51\INC\Atmel\;C:\Keil\C51\INC\
SET C51LIB=C:\Keil\C51\LIB
SET CPU_TYPE=AT89S52
SET CPU_VENDOR=Atmel

"C:\Keil\C51\BIN\C51.EXE" %1.c
"C:\Keil\C51\BIN\LX51.EXE" %1.obj TO %1.abs
"C:\Keil\C51\BIN\OHX51.EXE" %1.abs
@echo off
DEL %1.obj
DEL %1.abs
DEL %1.map
DEL %1.lst

jetli 发表于 2012-4-3 15:33:28

开着航母去拉集装箱。。。。{:loveliness:}

sungngai 发表于 2012-4-4 00:13:37

elecfun 发表于 2012-4-2 21:26 static/image/common/back.gif
对于目录中包含空格的问题已经找到解决方案了。

在设置外部工具时,参数修改成 文件名称,如VS中应该是...

楼主,貌似将代码模块化就不行了

elecfun 发表于 2012-4-4 01:38:44

sungngai 发表于 2012-4-4 00:13 static/image/common/back.gif
楼主,貌似将代码模块化就不行了

什么意思没懂……

donglaile 发表于 2012-4-4 09:43:32

elecfun 发表于 2012-4-2 21:26 static/image/common/back.gif
对于目录中包含空格的问题已经找到解决方案了。

在设置外部工具时,参数修改成 文件名称,如VS中应该是...

谢谢!{:smile:}

無智 发表于 2012-4-4 10:34:36

maxchen 发表于 2010-6-8 11:52 static/image/common/back.gif
用这个写51,光看体积就吓死人了
我用VIM+make,舒服得很

我用vim在linux下经常用。
对于51等,请赐教,愿闻其详!

sungngai 发表于 2012-4-4 11:46:13

elecfun 发表于 2012-4-4 01:38 static/image/common/back.gif
什么意思没懂……

就是如果把代码写在一个.c文件可以通过编译,但是当有多个.c文件时就不能

lu50211 发表于 2012-4-4 16:14:11

还没有用到这么强大折软件

redsword 发表于 2012-4-4 16:15:49

这个给力呀,狠

elecfun 发表于 2012-4-5 17:18:59

sungngai 发表于 2012-4-4 11:46 static/image/common/back.gif
就是如果把代码写在一个.c文件可以通过编译,但是当有多个.c文件时就不能 ...

确实是这样的,目前不能编译多个C文件。

lininglive 发表于 2012-4-5 17:28:05

MARK IDE
MARK 集成开发环境

ppdd 发表于 2012-5-3 19:04:41

---mark---

林夕依然 发表于 2012-5-6 11:38:16

方法不错,设置确实挺麻烦的。

shudz 发表于 2012-5-6 15:03:36

偶尔用用也不错

hamipeter 发表于 2012-5-6 15:28:03

不错不错

omega333 发表于 2012-5-6 15:49:45

这个一定要标记

enmimi 发表于 2012-5-14 15:16:07

晚上试一下,牛逼了

dongfo 发表于 2012-5-14 20:38:16

我去过于强大啊,谢谢分享啊

Volftooth 发表于 2012-5-14 21:35:12

支持一下~

yingmin_alex 发表于 2012-5-14 23:04:14

我还好老老实实用keil吧

Linux2.6 发表于 2012-5-15 09:46:29

这个方法不错哦,Eclipse也可以实现。

lijinen 发表于 2012-5-15 10:37:34

学习学习,收藏了

yangjinke1118 发表于 2012-6-9 10:23:08

你好,我想请问一下,VS这样配置后如何能编译模块化(多个.C源文件)的C51程序。我试验了你的方法,只能针对单个源文件的C51程序有效。

elecfun 发表于 2012-6-9 15:34:03

yangjinke1118 发表于 2012-6-9 10:23 static/image/common/back.gif
你好,我想请问一下,VS这样配置后如何能编译模块化(多个.C源文件)的C51程序。我试验了你的方法,只能针 ...

目前的方法只能编译单个文件。
因为这种方法不需要新建其它的工程文件,简单、方便。
如果需要编译多个C文件,你可以考虑用VS编写、Keil编译。
我试过Keil建工程,VS调Keil编译也可以,但比较麻烦,还需要预先用Keil建立工程。
还有一个未经试验的方法,用VS建工程,修改传递的参数

enovo2468 发表于 2012-6-28 20:31:41

GOOD                        

Canbus007 发表于 2012-6-28 21:20:33

Notedpad++,大伙可以用用!在代码编辑上比起Uedit,在应用写写代码之余还是有过之而无不及!个人使用感觉21

maxims 发表于 2012-6-28 21:45:02

mark

代码编写环境 IDE

babytaomail 发表于 2012-6-29 08:35:08

好想法!以前都是一个字一个字地敲,效率不是一般的低。。

cocomobei00 发表于 2012-6-29 08:47:34

MARK这个一定要顶

blue003 发表于 2012-7-11 15:14:00

是不错的,就是体积太大了,谁用eclipse的,帮忙解决一下,那个提示怎么搞出来,java可以,就是那个c的不行,一定要按组合键,谢了

blue003 发表于 2012-7-16 11:35:15

如果用keil的项目工程应该可以编译多个文件,楼主可不可以教大家用一下keil的项目工程来进行编译,

asdf123321 发表于 2012-7-17 14:16:53

eclipse真爽,还是绿色跨平台

rpg_9527 发表于 2012-7-17 17:31:08

MARK      

GNMXD 发表于 2012-7-17 17:40:12

原来可以这么整的哦!
谢谢了

szxy06dq 发表于 2012-7-17 17:47:43

呵呵,楼主的方法不错。
能省不少事情,不过建议初学者不要使用。

dy22511825 发表于 2012-7-21 14:48:59

标记,但是问问 VC6.0可否实现

flyfox8 发表于 2012-7-21 17:24:42

方法是都不错,不过还是觉得有点麻烦。就是不明白,keil 为啥不能把它的编辑功能做的强大点呢。

lsyplan 发表于 2012-7-21 20:06:47

好帖,mark

LuoJiaSheng 发表于 2012-7-22 02:01:43

mark下,好东西。

cqqwing 发表于 2012-7-28 00:50:00

还是要活学活用才行, 忘记了 就翻翻书, 实在懒的, 就看看电子文档, 连这都懒得看, 那么就没办法搞单片机这个行业了

蓝色夜雨 发表于 2012-7-28 10:57:50

mark一下 怎么只打mark 太短呢

fly928sky 发表于 2012-7-28 12:04:50

先mark了!

hhzy2008 发表于 2012-8-5 16:43:13

原来可以这样我每次都是手工一行一行的查看。在本子上把代码写出来在输入到电脑上。看来我太笨了啊

seazhui 发表于 2012-8-16 22:32:57

maxchen 发表于 2010-6-8 11:52 static/image/common/back.gif
用这个写51,光看体积就吓死人了
我用VIM+make,舒服得很

求教程~~~

yangshichang110 发表于 2012-8-16 23:17:24

有空试试= =一直喜欢VC的环境。
用keil有时组织不好格式

163fit 发表于 2012-8-27 11:50:23

单个文件可以。多个文件不知道可不可以。

unifax001 发表于 2012-8-27 12:29:36

确实高射炮打蚊子了 呵呵

北渡南归 发表于 2012-9-9 22:52:53

make                  
页: 1 2 [3] 4
查看完整版本: 教你利用Visual Studio的智能提示,快速编写C51代码