搜索
bottom↓
楼主: elecfun

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

  [复制链接]

出90入0汤圆

发表于 2011-12-10 23:28:26 | 显示全部楼层
谢谢楼主分享^
我一直都是在VC2008里写代码,在Keil里编译,嘻嘻~

出0入0汤圆

发表于 2011-12-11 14:43:54 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-11 17:05:28 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-14 14:26:26 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-14 16:18:22 | 显示全部楼层
支持持一下。

出0入0汤圆

发表于 2011-12-15 15:45:14 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-15 21:20:48 | 显示全部楼层
回复【楼主位】elecfun 熊
-----------------------------------------------------------------------

vs2008 MCU程序

出0入0汤圆

发表于 2011-12-16 09:04:07 | 显示全部楼层
用TKStudio V4.0呀~好使!不忽悠!

出0入134汤圆

 楼主| 发表于 2011-12-16 20:50:41 | 显示全部楼层
回复【206楼】miyadai  
用tkstudio v4.0呀~好使!不忽悠!
-----------------------------------------------------------------------

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

出0入0汤圆

发表于 2011-12-30 14:44:56 | 显示全部楼层
mark

出0入0汤圆

发表于 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.在网上又找半天还是没招,希望大侠们给点技术支持

出0入0汤圆

发表于 2011-12-30 19:54:40 | 显示全部楼层
补充一下,出现can't find XXX.abs
我在编辑上面这句话时,光标点错位置啦

出0入134汤圆

 楼主| 发表于 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.在网上又找半天还是没招,希望大侠们给点技术支持

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



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

出0入0汤圆

发表于 2011-12-30 21:34:54 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-30 22:01:28 | 显示全部楼层
好,谢谢楼主分享^

出0入0汤圆

发表于 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 熊 ,批处理可以用

出0入0汤圆

发表于 2012-1-1 15:24:53 | 显示全部楼层
mark,教你利用Visual Studio的智能提示,快速编写C51代码

出0入0汤圆

发表于 2012-1-1 17:17:31 | 显示全部楼层
good

出0入0汤圆

发表于 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、全部设置完之后一定要重启电脑,才能应用。

出0入134汤圆

 楼主| 发表于 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调用批处理文件的设置如下:

(原文件名:EP1.png)


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

(原文件名:ED2.png)

出0入0汤圆

发表于 2012-1-4 13:23:22 | 显示全部楼层
mark

出0入0汤圆

发表于 2012-1-4 17:01:09 | 显示全部楼层
mark.

出0入0汤圆

发表于 2012-1-4 18:10:25 | 显示全部楼层
下手太迟了,已经不能下载了

出0入0汤圆

发表于 2012-1-4 18:59:00 | 显示全部楼层
mark!!!!

出0入0汤圆

发表于 2012-1-4 19:29:22 | 显示全部楼层
不错,受教了!

出0入0汤圆

发表于 2012-1-4 19:48:46 | 显示全部楼层
这帖不错,估计是因为今天那个说TKStudio的帖子才挖出来的。。。

出0入0汤圆

发表于 2012-1-4 21:35:23 | 显示全部楼层
mark

出0入0汤圆

发表于 2012-1-5 09:09:38 | 显示全部楼层
c-free也不错

出0入0汤圆

发表于 2012-1-5 09:42:44 | 显示全部楼层
谢谢

出0入0汤圆

发表于 2012-1-5 19:05:10 | 显示全部楼层
mark下,有机会用到就翻出来!!!

出0入0汤圆

发表于 2012-1-5 20:18:25 | 显示全部楼层
回复【207楼】elecfun 熊
-----------------------------------------------------------------------

写程序变舒服了

出0入0汤圆

发表于 2012-1-5 22:09:26 | 显示全部楼层
能不能让比如reg51.h文件名,端口P1^1也能提示

出0入0汤圆

发表于 2012-1-5 22:13:44 | 显示全部楼层
能把Flash download功能加上是最好的

出0入0汤圆

发表于 2012-1-5 22:20:57 | 显示全部楼层
不会报错怎么办

出0入134汤圆

 楼主| 发表于 2012-1-5 22:31:42 | 显示全部楼层
回复【231楼】catshit one  
能不能让比如reg51.h文件名,端口p1^1也能提示
-----------------------------------------------------------------------


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


(原文件名:1.png)

出0入134汤圆

 楼主| 发表于 2012-1-5 22:41:07 | 显示全部楼层
回复【232楼】Onsunsl  金平合吾
能把flash download功能加上是最好的
-----------------------------------------------------------------------

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

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



(原文件名:mcuisp.png)

出50入0汤圆

发表于 2012-1-6 12:24:04 | 显示全部楼层
mark

出0入0汤圆

发表于 2012-1-6 13:32:55 | 显示全部楼层
就是多点几下,有点麻烦

出0入0汤圆

发表于 2012-1-6 13:52:55 | 显示全部楼层
楼主强人!多多学习!不知道次方法能否用在STM32的代码编辑上???

出0入134汤圆

 楼主| 发表于 2012-1-8 18:55:44 | 显示全部楼层
回复【237楼】Onsunsl  金平合吾
就是多点几下,有点麻烦
-----------------------------------------------------------------------

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

出0入134汤圆

 楼主| 发表于 2012-1-8 18:58:48 | 显示全部楼层
回复【238楼】yangpeng  
楼主强人!多多学习!不知道次方法能否用在stm32的代码编辑上???
-----------------------------------------------------------------------

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

出0入0汤圆

发表于 2012-1-8 21:05:12 | 显示全部楼层
以前学过C#,现在只会用KEIL,想不到这些也都能行。什么时候试试。

出0入0汤圆

发表于 2012-1-12 14:52:14 | 显示全部楼层
才入门,用到的平台不多,收藏待以后用。

出0入0汤圆

发表于 2012-1-12 15:36:25 | 显示全部楼层
不错的教程。

出0入0汤圆

发表于 2012-1-13 16:08:26 | 显示全部楼层
mark.

出0入0汤圆

发表于 2012-1-13 16:44:34 | 显示全部楼层
UE

出0入0汤圆

发表于 2012-2-9 12:12:26 | 显示全部楼层
楼主有没有电子密码锁的C语言程序呢?

出0入134汤圆

 楼主| 发表于 2012-3-24 01:23:32 | 显示全部楼层
glove 发表于 2012-2-9 12:12
楼主有没有电子密码锁的C语言程序呢?

有的, 我找找看

出0入0汤圆

发表于 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

出0入134汤圆

 楼主| 发表于 2012-3-24 13:33:47 | 显示全部楼层
donglaile 发表于 2012-3-24 11:54
学网页的时候装过vs,看到楼主的方法想试试,结果
d:\My Documents\Desktop\20\test.obj TO d:\My Document ...

文件路径中不能包含空格

出0入0汤圆

发表于 2012-3-27 22:14:18 | 显示全部楼层
LX51 LINKER/LOCATER V3.51p - SN: K1DZP-5IUSHE
谢谢!还是有问题。。。不折腾啦
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

出0入0汤圆

发表于 2012-3-29 01:51:06 | 显示全部楼层
mark!!!

出0入134汤圆

 楼主| 发表于 2012-4-2 21:26:05 | 显示全部楼层
donglaile 发表于 2012-3-27 22:14
LX51 LINKER/LOCATER V3.51p - SN: K1DZP-5IUSHE
谢谢!还是有问题。。。不折腾啦
COPYRIGHT KEIL E ...

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

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


NotePad中是这样设置:



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

  5. "C:\Keil\C51\BIN\C51.EXE" %1.c
  6. "C:\Keil\C51\BIN\LX51.EXE" %1.obj TO %1.abs
  7. "C:\Keil\C51\BIN\OHX51.EXE" %1.abs
  8. @echo off
  9. DEL %1.obj
  10. DEL %1.abs
  11. DEL %1.map
  12. DEL %1.lst
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2012-4-3 15:33:28 | 显示全部楼层
开着航母去拉集装箱。。。。

出0入0汤圆

发表于 2012-4-4 00:13:37 | 显示全部楼层
elecfun 发表于 2012-4-2 21:26
对于目录中包含空格的问题已经找到解决方案了。

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

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

出0入134汤圆

 楼主| 发表于 2012-4-4 01:38:44 | 显示全部楼层
sungngai 发表于 2012-4-4 00:13
楼主,貌似将代码模块化就不行了

什么意思  没懂……

出0入0汤圆

发表于 2012-4-4 09:43:32 | 显示全部楼层
elecfun 发表于 2012-4-2 21:26
对于目录中包含空格的问题已经找到解决方案了。

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

谢谢!

出0入0汤圆

发表于 2012-4-4 10:34:36 | 显示全部楼层
maxchen 发表于 2010-6-8 11:52
用这个写51,光看体积就吓死人了
我用VIM+make,舒服得很

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

出0入0汤圆

发表于 2012-4-4 11:46:13 | 显示全部楼层
elecfun 发表于 2012-4-4 01:38
什么意思  没懂……

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

出0入0汤圆

发表于 2012-4-4 16:14:11 | 显示全部楼层
还没有用到这么强大折软件

出0入0汤圆

发表于 2012-4-4 16:15:49 | 显示全部楼层
这个给力呀,狠

出0入134汤圆

 楼主| 发表于 2012-4-5 17:18:59 | 显示全部楼层
sungngai 发表于 2012-4-4 11:46
就是如果把代码写在一个.c文件可以通过编译,但是当有多个.c文件时就不能 ...

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

出0入0汤圆

发表于 2012-4-5 17:28:05 | 显示全部楼层
MARK IDE
MARK 集成开发环境

出0入0汤圆

发表于 2012-5-3 19:04:41 | 显示全部楼层
---mark---

出0入0汤圆

发表于 2012-5-6 11:38:16 | 显示全部楼层
方法不错,设置确实挺麻烦的。

出0入0汤圆

发表于 2012-5-6 15:03:36 | 显示全部楼层
偶尔用用也不错

出0入0汤圆

发表于 2012-5-6 15:28:03 | 显示全部楼层
不错不错

出0入0汤圆

发表于 2012-5-6 15:49:45 | 显示全部楼层
这个一定要标记

出0入0汤圆

发表于 2012-5-14 15:16:07 | 显示全部楼层
晚上试一下,牛逼了

出0入0汤圆

发表于 2012-5-14 20:38:16 | 显示全部楼层
我去过于强大啊,谢谢分享啊

出0入0汤圆

发表于 2012-5-14 21:35:12 | 显示全部楼层
支持一下~

出0入0汤圆

发表于 2012-5-14 23:04:14 | 显示全部楼层
我还好老老实实用keil吧

出0入0汤圆

发表于 2012-5-15 09:46:29 | 显示全部楼层
这个方法不错哦,Eclipse也可以实现。

出0入0汤圆

发表于 2012-5-15 10:37:34 | 显示全部楼层
学习学习,收藏了

出0入0汤圆

发表于 2012-6-9 10:23:08 | 显示全部楼层
你好,我想请问一下,VS这样配置后如何能编译模块化(多个.C源文件)的C51程序。我试验了你的方法,只能针对单个源文件的C51程序有效。

出0入134汤圆

 楼主| 发表于 2012-6-9 15:34:03 | 显示全部楼层
yangjinke1118 发表于 2012-6-9 10:23
你好,我想请问一下,VS这样配置后如何能编译模块化(多个.C源文件)的C51程序。我试验了你的方法,只能针 ...

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

出0入0汤圆

发表于 2012-6-28 20:31:41 | 显示全部楼层
GOOD                        

出0入0汤圆

发表于 2012-6-28 21:20:33 | 显示全部楼层
Notedpad++,大伙可以用用!在代码编辑上比起Uedit,在应用写写代码之余还是有过之而无不及!个人使用感觉21

出0入0汤圆

发表于 2012-6-28 21:45:02 | 显示全部楼层
mark

代码编写环境 IDE

出0入0汤圆

发表于 2012-6-29 08:35:08 | 显示全部楼层
好想法!以前都是一个字一个字地敲,效率不是一般的低。。

出0入0汤圆

发表于 2012-6-29 08:47:34 | 显示全部楼层
MARK这个一定要顶

出0入0汤圆

发表于 2012-7-11 15:14:00 | 显示全部楼层
是不错的,就是体积太大了,谁用eclipse的,帮忙解决一下,那个提示怎么搞出来,java可以,就是那个c的不行,一定要按组合键,谢了

出0入0汤圆

发表于 2012-7-16 11:35:15 | 显示全部楼层
如果用keil的项目工程应该可以编译多个文件,楼主可不可以教大家用一下keil的项目工程来进行编译,

出0入0汤圆

发表于 2012-7-17 14:16:53 | 显示全部楼层
eclipse真爽,还是绿色跨平台

出0入0汤圆

发表于 2012-7-17 17:31:08 | 显示全部楼层
MARK      

出0入0汤圆

发表于 2012-7-17 17:40:12 | 显示全部楼层
原来可以这么整的哦!
谢谢了

出0入0汤圆

发表于 2012-7-17 17:47:43 | 显示全部楼层
呵呵,楼主的方法不错。
能省不少事情,不过建议初学者不要使用。

出0入0汤圆

发表于 2012-7-21 14:48:59 | 显示全部楼层
标记,但是问问 VC6.0可否实现

出0入4汤圆

发表于 2012-7-21 17:24:42 | 显示全部楼层
方法是都不错,不过还是觉得有点麻烦。就是不明白,keil 为啥不能把它的编辑功能做的强大点呢。

出0入0汤圆

发表于 2012-7-21 20:06:47 | 显示全部楼层
好帖,mark

出0入0汤圆

发表于 2012-7-22 02:01:43 | 显示全部楼层
mark下,好东西。

出0入0汤圆

发表于 2012-7-28 00:50:00 | 显示全部楼层
还是要活学活用才行, 忘记了 就翻翻书, 实在懒的, 就看看电子文档, 连这都懒得看, 那么就没办法搞单片机这个行业了

出0入0汤圆

发表于 2012-7-28 10:57:50 | 显示全部楼层
mark一下 怎么只打mark 太短呢

出0入0汤圆

发表于 2012-7-28 12:04:50 | 显示全部楼层
先mark了!

出0入0汤圆

发表于 2012-8-5 16:43:13 | 显示全部楼层
原来可以这样我每次都是手工一行一行的查看。在本子上把代码写出来在输入到电脑上。看来我太笨了啊

出0入0汤圆

发表于 2012-8-16 22:32:57 | 显示全部楼层
maxchen 发表于 2010-6-8 11:52
用这个写51,光看体积就吓死人了
我用VIM+make,舒服得很

求教程~~~

出0入0汤圆

发表于 2012-8-16 23:17:24 | 显示全部楼层
有空试试= =一直喜欢VC的环境。
用keil有时组织不好格式

出0入0汤圆

发表于 2012-8-27 11:50:23 | 显示全部楼层
单个文件可以。多个文件不知道可不可以。

出0入54汤圆

发表于 2012-8-27 12:29:36 | 显示全部楼层
确实高射炮打蚊子了 呵呵

出0入0汤圆

发表于 2012-9-9 22:52:53 | 显示全部楼层
make                  
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-20 10:02

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表