Forums

质子开发套件

开始于 ascii_geek 2004年11月17日

大家好,

是否有人有这个BASIC程序员的经验。不是我
需要BASIC,但此编译器似乎还不错,并且包含
SPLICE模拟器也非常简洁。

我仍在尝试寻找合适的编译器,并且正在寻找其中一个
CCS,PICBASIC Pro和Proton开发套件。

我终于选择了PIC系列微控制器,这是
下一步。我主要从事机器人技术工作,不希望成为
如果不需要的话,可以在汇编器中进行处理。

谢谢,
加里




嗨,加里,

我有PDS,很棒,模拟器仅限于虚拟
与Crownhill的开发板相对应,但足以测试
您可以生成的大多数乐橙云app(例如计时,串行等)都可以
模拟没有大惊小怪。它还带有USB加密狗,因此您可以
将软件安装在任意数量的PC上,并在需要的地方使用
当您需要它时。

现在,IDE有了很大的改进,它可以检测到重复的变量
声明,并在左侧具有一个方便的导航栏,其中包含所有
标签,因此您可以比以前更轻松地移动大型程序。

AFAIK PDS具有当前BASIC范围内最完整的命令集
编译器。

最好的祝福,

麦克风 - - - 原始信息 - - -
来自:“ ascii_geek”<>
到:<>
发送:2004年11月17日,星期三,下午1:47
主题:[piclist]质子开发套件 >
>
> Hi All,
>
>是否有人有这个BASIC程序员的经验。不是我
>需要BASIC,但此编译器似乎还不错,并且包含
>SPLICE模拟器也非常简洁。
>
>我仍在尝试寻找合适的编译器,并且正在寻找其中一个
>CCS,PICBASIC Pro和Proton开发套件。
>
>我终于选择了PIC系列微控制器,这是
>下一步。我主要从事机器人技术工作,不希望成为
>如果不需要的话,可以在汇编器中进行处理。
>
> Thanks,
> Gary >
>取消订阅,请转到 http://www.yahoogroups.com和 follow the
指示
> Yahoo! Groups Links




正如其他答复所说,Spice模型是免费的,但仅限于6
包括开发板。我拥有Labcenters ISIS的完整系统
你真的可以做的很整洁。像建模2张或更多与之交谈的照片
通过发送图钉来彼此交流并确定交互的时间
每个PIC上的高/低,然后在VSM逻辑分析仪上查看所有内容。

如果您需要一次单步显示屏幕上的所有源,
(屏幕确实有点混乱)

最近,我感兴趣地阅读了有关HLL的讨论。一种
很多人认为,如果您拥有包含程序和
功能是终极系统。对我来说,它施加了太多
限制。以下是论坛上同意我的帖子的副本。

最后,质子高度优化。

打印“你好”会产生

Movlw 104
通话列印
Movlw 101
通话列印
Movlw 108
通话列印
通话列印
Movlw 111
通话列印

请注意第二个L的重复调用没有加载W

然后像C一样,如果您经过一定的字符串长度,它将使
字符串到这样的数据库文件中: F1_000014 equ $;在[OPTERMISATION.BAS]中打印“你好,伟大的世界
在那里”
Movlw高str @ lb1
Movwf TBLPTRLH
Movlw低str @ lb1
Movwf TBLPTRL
F @ Call print @ mstr
F1_EOF equ $;选拔
; ---------
;空终止的字符串

;字符串你好大世界在那里
str @ lb1
D B
104,101,108,108,111,32,103,114,101,97,116,32,98,105,103,32,119,111,114,108
D B 100、32、111、117、116、32、116、104、101、114、101,0
; ---------

来自质子论坛

有一个例子说明为什么结构化语言&系统,允许
对于参数传递,各有利弊。

我曾经使用BasicX系统,该系统使用
几乎与VisualBasic兼容的语言,即您定义Subs和
可以通过值或引用接收参数的函数,以及
返回结果等。它在某些方面非常实用,但是非常
在别人身上很麻烦。

自发现Proton +之后,我可以说我不会回头,特别是
借助PDS,现在可以轻松完成很多大型项目的导航。

首先,请看以下内容:

乐橙云app:

Serin GPS_RX,16572,2000,No_SendPos,[Wait(“ $ GPRMC”),跳过8, Valid,
跳过1,STR Lat \ 8,跳过1,LatDir,跳过2,STR Lon \ 8,跳过1,LonDir]

这是一个简单的GPS NMEA读取操作。翻译成
结构化的BasicX乐橙云app类似于: Code:

呼叫OpenQueue(InBuffer,49)
呼叫OpenQueue(OutBuffer,29)

调用DefineCom3(InPin,OutPin,bx0000_1000)'n,8,1
调用OpenCom(3,BaudRate,InBuffer,OutBuffer)

Wait_RX:

如果StatusQueue(InBuffer)然后
调用GetQueue(InBuffer,InChar,1)
如果InChar = 36,则
对于i = 1到4

下一页
调用GetQueue(InBuffer,InChar,1)
如果是InChar<> 67 Then
转到Wait_RX
别的

对于i = 1到4
调用GetQueue(InBuffer,InChar,1)
时间=时间& Chr(InChar)
下一页
对于i = 1到7

下一页
调用GetQueue(InBuffer,InChar,1)
如果是InChar<> 65 Then
Debug.Print“无效”
转到关闭
万一

对于i = 1到9
调用GetQueue(InBuffer,InChar,1)
纬度=纬度& Chr(InChar)
下一页

调用GetQueue(InBuffer,InChar,1)
LatDir = Chr(InChar)


对于i = 1到9
调用GetQueue(InBuffer,InChar,1)
朗=朗& Chr(InChar)
下一页

调用GetQueue(InBuffer,InChar,1)
LonDir = Chr(InChar)

InChar = 0
sVel =“”
印加做<> 44
调用GetQueue(InBuffer,InChar,1)
如果是InChar<> 44 Then
sVel = sVel& Chr(InChar)
万一
环形
通话价值(sVel,Vel,Dummy)
速度=速度* 1.85
sVel = CStr(Vel)
InChar = 0
印加做<> 46
调用GetQueue(InBuffer,InChar,1)
如果是InChar<> 46 Then
Hdg = Hdg& Chr(InChar)
万一
环形
万一
别的
转到Esperar_RX
万一
别的
转到Esperar_RX
万一

请注意,这不包括超时例程,该例程也
实现,涉及另外几行乐橙云app。在这个例子中
跳转是从串行缓冲区中提取n个字符的子例程。
也很高兴有一个大的串行缓冲区,但是我学会了生活
没有它。

这种环境最严重的问题是堆栈用完了
空间非常快,因此您最终要编写相同的长例程
所有的乐橙云app,而不是嵌套的,因为当您破产时
uC挂起的堆栈。
---在“ ascii_geek”中<gwatson@w...> wrote:
>
> Hi All,
>
>是否有人有这个BASIC程序员的经验。不是我
>需要BASIC,但此编译器似乎还不错,并且包含
>SPLICE模拟器也非常简洁。
>
>我仍在尝试寻找合适的编译器,并且正在寻找其中一个
>CCS,PICBASIC Pro和Proton开发套件。
>
>我终于选择了PIC系列微控制器,这是
>下一步。我主要从事机器人技术工作,不希望成为
>如果不需要的话,可以在汇编器中进行处理。
>
> Thanks,
> Gary





- - - 原始信息 - - -
来自:timbox2005<>
到:<>
发送:2004年11月18日,星期四,9:07 AM
主题:[piclist]回复:质子开发套件 >
>
>正如其他答复所说,Spice模型是免费的,但仅限于6
>包括开发板。我拥有Labcenters ISIS的完整系统
>你真的可以做的很整洁。像建模2张或更多与之交谈的照片
>通过发送图钉来彼此交流并确定交互的时间
>每个PIC上的高/低,然后在VSM逻辑分析仪上查看所有内容。
>
>如果您需要一次单步显示屏幕上的所有源,
>(屏幕确实有点混乱)

XCSIM允许您模拟多个互相交谈并使用的PIC
XEBOT您可以设计和构建虚拟硬件以与PIC进行交互
您正在模拟。您可以直接嵌入高级仿真指令
从XCSB或XCASM导入可执行文件并控制仿真
无需在可执行文件中添加乐橙云app(您的调试版本不需要
与您的发行版本不同)

>
>最近,我感兴趣地阅读了有关HLL的讨论。一种
>很多人认为,如果您拥有包含程序和
>功能是终极系统。对我来说,它施加了太多
>限制。以下是论坛上同意我的帖子的副本。
>
>最后,质子高度优化。
>
>打印“你好”会产生
>
> Movlw 104
> Call Print
> Movlw 101
> Call Print
> Movlw 108
> Call Print
> Call Print
> Movlw 111
> Call Print
>
>请注意第二个L的重复调用没有加载W

从表面上看,这似乎是一个很好的优化,但是当
子程序“打印”与调用乐橙云app在不同的乐橙云app页中? I
昨晚下载了Proton + lite,以查看文档。它是
有趣的是,这16个字符串功能不可用
系列PIC,但仅适用于18系列-不是一个好兆头。

好的优化的标记不是多少机器乐橙云app指令之一
高级指令可以转换成,但是一个序列的大小
高级指令可以简化为一条机器乐橙云app指令。
我已经在很多场合展示了XCSB语句的复杂序列如何实现
由XCSB编译器转换为仅一条机器乐橙云app指令,所以我
在这里不会浪费带宽。

>
>然后像C一样,如果您经过一定的字符串长度,它将使
>字符串到这样的数据库文件中: >F1_000014 equ $;在[OPTERMISATION.BAS]中打印“你好,很大, world
> out there"
> Movlw high str@lb1
> Movwf TBLPTRLH
> Movlw low str@lb1
> Movwf TBLPTRL
> F@Call print@mstr
>F1_EOF equ $;选拔
> ;---------
>;空终止的字符串
>
>;字符串你好大世界在那里
> str@lb1
> DB
> 104,101,108,108,111,32,103,114,101,97,116,32,98,105,103,32,119,111,114,108
>DB 100、32、111、117、116、32、116、104、101、114、101,0
> ;---------
>
> >来自质子论坛
>
> 有一个例子说明为什么结构化语言& systems, which allow
>对于参数传递,各有利弊。
>
>我曾经使用BasicX系统,该系统使用
>几乎与VisualBasic兼容的语言,即您定义Subs和
>可以通过值或引用接收参数的函数,以及
>返回结果等。它在某些方面非常实用,但是非常
>在别人身上很麻烦。

恭喜,我看到了
不知道他们在做什么,然后谁指出了这个例子
“事情到底有多复杂”。如果您真的想了解 power
编程语言的介绍,您应该看看有竞争力的用户
以期对其进行修改。这么多专业人士皱眉的原因
(非结构化)BASIC是因为使用它生成的许多程序最终
很难维护。

>
>自发现Proton +之后,我可以说我不会回头,特别是
>借助PDS,现在可以轻松完成很多大型项目的导航。
>
>首先,请看以下内容:
>
> Code:
>
>Serin GPS_RX,16572,2000,No_SendPos,[Wait(“ $ GPRMC”),跳过8, Valid,
>跳过1,STR Lat \ 8,跳过1,LatDir,跳过2,STR Lon \ 8,跳过1,LonDir]
>
>这是一个简单的GPS NMEA读取操作。翻译成
>结构化的BasicX乐橙云app类似于: > Code:
>
>呼叫OpenQueue(InBuffer,49)
>呼叫OpenQueue(OutBuffer,29)
>
>调用DefineCom3(InPin,OutPin,bx0000_1000)'n,8,1
>调用OpenCom(3,BaudRate,InBuffer,OutBuffer)
>
> Wait_RX:
>
>如果StatusQueue(InBuffer)然后
>调用GetQueue(InBuffer,InChar,1)
> If InChar = 36 Then
> For i = 1 to 4
> Jump
> Next
>调用GetQueue(InBuffer,InChar,1)
> If InChar <> 67 Then
> Goto Wait_RX
> Else
> Jump
> For i = 1 to 4
>调用GetQueue(InBuffer,InChar,1)
> Time = Time & Chr(InChar)
> Next
> For i = 1 to 7
> Jump
> Next
>调用GetQueue(InBuffer,InChar,1)
> If InChar <> 65 Then
>Debug.Print“无效”
> Goto Off
> End If
> Jump
> For i = 1 to 9
>调用GetQueue(InBuffer,InChar,1)
> Lat = Lat & Chr(InChar)
> Next
> Jump
>调用GetQueue(InBuffer,InChar,1)
>LatDir = Chr(InChar)
> Jump
> Jump
> For i = 1 to 9
>调用GetQueue(InBuffer,InChar,1)
> Lon = Lon & Chr(InChar)
> Next
> Jump
>调用GetQueue(InBuffer,InChar,1)
>LonDir = Chr(InChar)
> Jump
> InChar = 0
> sVel = ""
> Do While InChar <> 44
>调用GetQueue(InBuffer,InChar,1)
> If InChar <> 44 Then
> sVel = sVel & Chr(InChar)
> End If
> Loop
>通话价值(sVel,Vel,Dummy)
> Vel = Vel * 1.85
> sVel = CStr(Vel)
> InChar = 0
> Do While InChar <> 46
>调用GetQueue(InBuffer,InChar,1)
> If InChar <> 46 Then
> Hdg = Hdg & Chr(InChar)
> End If
> Loop
> End If
> Else
> Goto Esperar_RX
> End If
> Else
> Goto Esperar_RX
> End If
>
>请注意,这不包括超时例程,该例程也
>实现,涉及另外几行乐橙云app。在这个例子中
>跳转是从串行缓冲区中提取n个字符的子例程。
>也很高兴有一个大的串行缓冲区,但是我学会了生活
> without it.
>
>这种环境最严重的问题是堆栈用完了
>空间非常快,因此您最终要编写相同的长例程
>所有的乐橙云app,而不是嵌套的,因为当您破产时
>uC挂起的堆栈。

因此,由于您在使用一种结构化语言时遇到了麻烦,因此得出以下结论:
它们都有相同的局限性吗?

XCSB没有这样的堆栈限制。您可以在其中调用任何函数
您喜欢的深度仅受可用RAM数量的限制。您可以创建
许多小的行为良好且功能齐全的文档,带有有意义的名称和
将它们缝合在一起,形成有意义的易于遵循的程序,而无需弄清楚
许多函数调用的开销-您无需重复让乐橙云app
编译器会为您完成所有艰苦的工作。

是的,您可能可以更简单地以一种非结构化的方式来做事情
小型琐碎的程序,但鉴于您可以使用结构化的软件来完成所有这些操作
编程语言,如果您真的想要,您会不会感到更多
轻松知道,当事情变得复杂时,您只需导入
乐橙云app的复杂部分(由其他人编写)不会影响您的工作
已经写了吗?不用担心变量名冲突或特殊
参数/结果传递协议或RAM或乐橙云app使用。通过编程
语言,例如Proton +,如果您想控制
高效的优化方式,您要么依赖于编译器编写器
添加对它的支持,否则您必须自己在汇编器中编写它。在
其他硬XCSB最近需要1-Wire功能,因为用户(Colin
巴纳德(Barnard),与编译器编写者无任何关系,将库写入
提供功能。而且由于内置的​​优化
编译器,1-Wire库的效率与已实现的效率相同
由编译器作者!

问候
塞尔吉奥·马西(Sergio Masci)

http://www.xcprod.com/titan/XCSB -优化PIC编译器
免费用于个人非商业用途




相信我Sergio,我并不否认XSCSB是出色的编译器。
您可以使14bit核心图片做的很棒,而且您可以自己使用
汇编程序的核心优化>2k知道怀疑将是一流的。

Proton开发人员决定启用完全兼容性
使用Mplabs及其工具,他们必须与MPASM及其所有工具一起使用
失败。

邮票风格的Pic Basic编译器与您的市场不同
XSCB是IMHO的产品,专为经验丰富的作家而设计
用书写乐橙云app。能够在那时编写自己的例程
没有可用的,并了解是否需要转换变量
在自己调用程序之前。

XSCB仍然只有14位内核吗?

就优化而言,我指出的只是一个简单的例子,
像你一样,我可以付出更多。

但要点是,Stamp风格的Pic Basic编译器位于
不同的市场。那里适合初学者和赶时间的人。

初学者什么都交给他们,好编辑
一键调用编译器并生成乐橙云app。他们要
非常全面的手册;他们想要很多预制命令。

匆忙的人们希望易于使用的可读乐橙云app并能够
写吧:-

在1,1,bin12 vara打印

无需编写自己的bin打印例程

那些在某个阶段开始使用邮票的人想继续前进,
过去是Pbpro,现在Proton提供了一个从邮票和
对于想要更多var类型,更好的数据处理,Floats的Pbro用户,
无缝的GLCD支持更多命令等。知道是否感到怀疑
他们已经长出了质子,可以使用XSCSB。

请,请记住我不想启动“我的编译器是
胜过您的战斗。这份出色的清单值得
那。

正如我在Sergio高层所说的那样,XSCSB听起来是一个很棒的产品。一世
虽然会建议您投入更多工作
易于测试和运行。我真的很想尝试一下并检查
优化的效果如何,我将继续阅读随附的HTM
手册我确定编辑器上的说明中有一些。

提姆 ---在“ sergio masci”中<smypl@x> wrote:
>
> - - - 原始信息 - - -
> From: timbox2005 <tim.yahoo@t...>
> To: <>
>发送:2004年11月18日,星期四,9:07 AM
>主题:[piclist]回复:质子开发套件




我很抱歉跳进这里,但是作为有关BasicX的帖子 example
在Proton +论坛上属于我,我有权利发表评论:

- - - 原始信息 - - -
来自:“塞尔吉奥·马西”<>
到:<>
发送:2004年11月21日,星期日,上午4:12
主题:回复:[piclist]回复:质子开发套件 >恭喜,我见过各种各样的红宝石 由做过的人生产
>不知道他们在做什么,然后谁指出了这个例子 of
>“事情到底有多复杂”。如果你真的想了解 the
力量
>一种编程语言,您应该看看 竞争用户的工作
>以期对其进行修改。这么多专业人士皱眉的原因
>(非结构化)BASIC是因为使用它制作的许多程序 end
向上
>很难维护。

您是否在谈论这个具体示例?为什么是垃圾?有一个
从BasicX的串行缓冲区读取字符串的十二种方法
解释器提供了,我看不到为什么这段乐橙云app是垃圾。我用过了
在许多项目中,尽管其他限制
我将不再赘述的BasicX。只需粘贴乐橙云app
从项目中进行编辑,并为了清楚起见对其进行了一些编辑,仅作为示例。
我要比较的是写一个简单的时间
与Proton +中的串行输入解析功能相比
微控制器几乎是Visual Basic。告诉我是否更快
编写并调试Proton +版本而不是BasicX版本? (大约70
线与一个)我已经使用BasicX五年了,所以我认为
一个可以告诉你的位置,而我不需要你的判断
垃圾与否。

我多年的工作向我表明,维护
无论结构化还是非结构化,任何形式的乐橙云app都是COMMENTS,并且
不是语言本身。我已经能够遵循复杂的ASM内容
因为它的评论非常好,我承认我无法在ASM中进行编码以保存
我的生活。我已经将C乐橙云app移植到Basic,因为它受到了很好的评论。我可以
看一下我十年前写的程序,并很好地遵循它,因为
我几乎每行都发表评论。是的,没错,*每一行*。评论
不要在已编译的乐橙云app中占用空间,因此它们可以自由编写。 lop
程序员不评论他们的乐橙云app,那时候很难维护
在您到达之前别人写的东西。

>因此,因为您遇到了一种结构化的问题 您得出的语言是
>它们都有相同的局限性吗?

不。我的意思是,它们都有局限性。当我不得不
使用18F452使用自己的内部闪存(
第一个乐橙云app库用于程序,其他三个用于数据),这是我唯一的方法
在使用嵌入在BASIC中的ASM对其进行写入之前,可能会擦除页面
乐橙云app-没有提供直接擦除Flash页面的功能。这
此处的限制很明显,但可以克服。使用BasicX,一旦您
破坏堆栈,解决它的唯一方法是开始重新使用变量,
这使得丑陋且比其他乐橙云app维护难度更大
语言。想象一下,到处都有变量,分别称为dummy1,dummy2等。
您的乐橙云app,因为如果您声明一个以上的字节变量,整个过程
崩溃了

另一个例子:Proton +发送串行数据时奇偶校验被破坏了
也就是说,即使您声明了8个数据位和1个(假设为奇数)奇偶校验位,
只有8个数据位会被发送出去。我不得不改变自己的日常习惯
直到修正了错误(确实且及时)后,但我没有
问题。使用了BasicStamp,AVR,PIC和BasicX之后,所有
他们有很多年了,在严肃的商业项目上,我可以说
他们都有自己的问题。没有完美的东西
语言,甚至不是您撰写过多的XCSB(值得称赞)
努力提供这样的东西,在这方面我向您致敬)。

>XCSB没有这样的堆栈限制。在你里面 可以调用函数
任何
>您喜欢的深度仅受数量的限制 可用的RAM。您可以创建
>许多小的行为良好且功能齐全的文档,带有有意义的名称

>将它们缝合在一起很有意义 遵循没有程序
保证
>许多函数调用的开销-您不需要 需要重复你的乐橙云app

>编译器会为您完成所有艰苦的工作。

好吧,那是我喜欢Proton +的一件事,我确切地知道我的位置
限制是。这样的PIC,那么多的RAM字节,那么多的程序空间。没有隐藏
崩溃向量。当您处于项目的80%时,没有什么可以抓住您的
而且您必须重新设计整个事情,因为您开始破坏事情。
我想XCSB在这方面是相同的,所以在这里他们都击败了BasicX。如果
您正在寻找编写乐橙云app的方式,就像您在编写Visual Basic一样,
很好,然后使用BasicX。一如既往,PIC的正确工具
工作。

>你会不会觉得更多
>轻松知道,当事情变得复杂时,您可以 import
>乐橙云app的复杂部分(由他人编写)不会影响什么 you
>已经写了吗?不用担心变量名冲突或特殊
>参数/结果传递协议或RAM或乐橙云app使用。

您不能仅仅期望能够导入其他人的乐橙云app
这样,没有任何形式的可变冲突(除非您很幸运,而且他们
使用n和m代替x和y)。您可能可以保留自己的功能
和库,这些是我为使用的任何编程语言所做的。一世
一开始就声明我所有的变量,所以对我来说,简单地
如果看到冲突,请替换变量。我有大量的乐橙云app片段
我可以简单地添加单独的文件,因为我使用相同的变量名
类似的事情(即我总是在for-next循环中使用,等等)

> With a programming
>语言,例如Proton +,如果您想控制
>高效的优化方式,您要么依赖于编译器编写器
>添加对它的支持,否则您必须自己在汇编器中编写它。

并不真地。好吧,如果您正在谈论奇特的硬件,那么您可以
通常有点麻烦的事情,我之前在BASIC中做到这一点没有问题。
大多数情况下都不需要递归到ASM。此外,最常见
协议已经包含在内,例如1-Wire存在,并且已经
一段时间。它非常容易使用。

> On the
>其他硬XCSB最近需要1-Wire功能,因为用户
(科林
>Barnard)与编译器编写器没有任何关系 wrote the library to
>提供功能。并且由于内置了优化 the
>编译器,1-Wire库就像以前一样高效 implemented
>由编译器作者!

拥有这种可能性很好,当然更可能在公开场合发现
源或免费项目,而不是商业项目。你不会看到很多
IDE /编译器供应商为人们开始编写打开了大门
他们自己的插件。您可以在它们周围写*,但不能写成*
他们。最新的Proton +版本包含一个插件API,您可以使用该API
使用编写的程序几乎可以做任何您想做的事情,即序列化
在每次编译时,都有一个在线乐橙云app段库等。

保持良好的工作,我只想请你不要预先判断别人的工作
不知道他们的背景。

问候,

麦克风



你是绝对正确的,而且写得很机智。成为C程序员
我本人100%同意您必须在乐橙云app中包含注释。你还怎么
希望你大学或下一个人在你身后并进行更新,
修改乐橙云app?我也同意所有编译器都有其自身的局限性。
相信我已经尝试了很多。我个人使用3个编译器。快速
脏的基本编译器,带浮点的基本编译器和C编译器。所以
最好的解决方案是在您的包装盒中准备好各种工具并进行选择
最好的编译器。 在2004年11月23日晚上8:24,您写道:

>很抱歉跳进这里,但是作为帖子 关于BasicX示例
>在Proton +论坛上属于我,我有权利发表评论:
>
> - - - 原始信息 - - -
>来自:“塞尔吉奥·马西”<>
>To: <>
>发送:2004年11月21日,星期日,上午4:12
>主题:回复:[piclist]回复:质子开发套件 > >顺便说一句,我看到人们生产的各种垃圾 did
> >不知道他们在做什么,然后谁指出了这个例子 of
> >“事情到底有多复杂”。如果你真的想 understand the
>power
> >一种编程语言,您应该看看竞争对手的作品 user
> >以期对其进行修改。这么多专业人士皱眉的原因 on
> >(非结构化)BASIC是因为使用它制作的许多程序 end
>up
> >很难维护。
>
>您是否在谈论这个具体示例?为什么是垃圾?有 a
>从BasicX的串行缓冲区读取字符串的十二种方法
>解释器提供了,我看不到为什么这段乐橙云app是垃圾。我用过了 it
>在许多项目中,尽管其他局限性都很好 of
>我将不再赘述的BasicX。乐橙云app很简单 pasted
>从项目中进行编辑,为了清晰起见,仅作为示例 EXAMPLE.
>我要比较的是写一个简单的时间
>与Proton +中的串行输入解析功能相比
>微控制器几乎是Visual Basic。告诉我是否更快
>编写并调试Proton +版本而不是BasicX版本? (一些 70
>行与一个)我已经使用BasicX五年了,所以我认为 in
>一个可以告诉你的位置,而我不需要你的判断
>rubbish or not.
>
>我多年的工作向我表明,维护中最糟糕的因素 of
>无论结构化还是非结构化,任何形式的乐橙云app都是COMMENTS, and
>不是语言本身。我已经能够追踪复杂的ASM内容 just
>因为它的评论非常好,我承认我无法在ASM中进行编码 save
>我的生活。我已经将C乐橙云app移植到Basic,因为它受到了很好的评论。一世 can
>看我十年前写的程序,并很好地遵循 because
>我几乎每行都发表评论。是的,没错,*每一行*。评论
>不要在已编译的乐橙云app中占用空间,因此它们可以自由编写。 lop
>程序员不评论他们的乐橙云app,那时候很难 maintain
>在您到达之前别人写的东西。
>
> >因此,由于您在使用一种结构化语言时遇到了麻烦 that
> >它们都有相同的局限性吗?
>
>不。我的意思是,它们都有局限性。当我有 to
>使用18F452使用自己的内部闪存制作数据记录器 (the
>第一个乐橙云app库用于程序,其他三个用于数据),唯一的方法 I
>在使用内置于ASM中的ASM对其进行写入之前,可能会擦除页面 BASIC
>乐橙云app-没有提供直接擦除Flash页面的功能。这
>此处的限制很明显,但可以克服。使用BasicX,一次 you
>破坏堆栈,解决它的唯一方法是开始重新使用变量,
>这使得丑陋且比其他乐橙云app维护难度更大
>语言。想象一下,到处都有变量,分别称为dummy1,dummy2等。
>您的乐橙云app,因为如果您声明一个以上的字节变量,整个过程
>comes crashing down.
>
>另一个例子:Proton +发送串行数据时奇偶校验被破坏了
>也就是说,即使您声明了8个数据位和1个(假设为奇数)奇偶校验位,
>只有8个数据位会被发送出去。我不得不改变自己的日常习惯
>直到修正了错误(确实且及时)后,但我没有
>问题。使用了BasicStamp,AVR,PIC和BasicX之后,所有
>他们有很多年了,在严肃的商业项目上,我可以说
>他们都有自己的问题。没有这样的事情 perfect
>语言,甚至不是您撰写过多的XCSB(值得称赞)
>努力提供这样的东西,在这方面我向您致敬)。
>
> >XCSB没有这样的堆栈限制。您可以在其中调用函数 to
>any
> >您喜欢的深度仅受可用RAM数量的限制。你可以 create
> >许多小的行为良好且功能齐全的文档,具有有意义的功能 names
>and
> >将它们缝合到一个有意义的易于遵循的程序中,而无需
>incuring
> >许多函数调用的开销-您无需重复乐橙云app you
>let
> >编译器会为您完成所有艰苦的工作。
>
>好吧,那是我喜欢Proton +的一件事,我确切地知道我的位置
>限制是。这样的PIC,那么多的RAM字节,那么多的程序空间。不 hidden
>崩溃向量。当您达到80%的水平时,没有什么可以抓住您的 project
>而且您必须重新设计整个过程,因为您开始破坏 things.
>我想XCSB在这方面是相同的,所以在这里他们都击败了BasicX。 If
>您希望像编写Visual Basic一样编写乐橙云app, all
>很好,然后使用BasicX。一如既往,PIC的正确工具
>JOB.
>
> >你会不会觉得更多
> >轻松知道,当事情变得复杂时,您可以 import
> >乐橙云app的复杂部分(由他人编写)不会影响什么 you
> >已经写了吗?不用担心变量名冲突或 special
> >参数/结果传递协议或RAM或乐橙云app使用。
>
>您不能仅仅期望能够导入其他人的乐橙云app
>这样,没有任何形式的可变冲突(除非您很幸运,并且 they
>使用n和m代替x和y)。您可能可以保留自己的 functions
>和库,这些是我为使用的任何编程语言所做的。 I
>一开始就声明我所有的变量,所以对我来说,简单地
>如果看到冲突,请替换变量。我有大量的乐橙云app片段
>我使用相同的变量名就可以简单地添加单独的文件 for
>类似的事情(即我总是在for-next循环中使用,等等)
>
> > With a programming
> >语言,例如Proton +,如果您想控制特定的硬件 an
> >您要么依赖编译器的高效优化方式 writer
> >添加对此的支持,或者您必须自己编写 assembler.
>
>并不真地。好吧,如果您正在谈论奇特的硬件,那么您可以
>通常有点爆炸性的事情,我之前在BASIC中已经做到了 problems.
>大多数情况下都不需要递归到ASM。此外,最常见
>协议已经包含在内,例如1-Wire存在且具有 been
>一段时间。它非常容易使用。
>
> > On the
> >其他硬XCSB最近需要1-Wire功能,因为 user
>(Colin
> >Barnard)与编译器作者没有任何联系,编写了库 to
> >提供功能。并且由于内置了优化 the
> >编译器,1-Wire库就像以前一样高效 implemented
> >由编译器作者!
>
>拥有这种可能性非常好,当然更有可能在 open
>源或免费项目,而不是商业项目。你不会看到 many
>IDE /编译器供应商为人们开始编写打开了大门
>他们自己的插件。您可以在它们周围写*,但不能写成*
>他们。最新的Proton +版本包含一个插件API,您可以使用该API can
>用编写的程序几乎可以做任何您想做的事情,即 serialize
>在每次编译时,都有一个在线乐橙云app段库等。
>
>继续努力,我只想请你不要预先判断别人的 work
>不知道他们的背景。
>
>Regards,
>
>Mike >
>
>取消订阅,请转到 http://www.yahoogroups.com和 follow the instructions
>Yahoo! Groups Links >
>




蒂姆,你好

- - - 原始信息 - - -
来自:“ timbox2005”<>
到:<>
发送:2004年11月21日,星期日,下午1:15
主题:[piclist]回复:质子开发套件 >但要点是图章样式Pic Basic compilers are in a
>不同的市场。那里适合初学者和赶时间的人。

我知道很多使用Proton撰写专业作品的专业人士
产品。我们再次进入“您的编译器的下坡 is
正如我在下面正确提到的那样。

>初学者什么都交给他们 plate, a good editor
>一键调用编译器并生成乐橙云app。他们要
>非常全面的手册;他们想要很多预制命令。

今天的初学者是,几年前,您必须学会
自己研究事物,然后寻求帮助。如果您还没有完成
首先要自己下功夫,通常会告诉您事情不是那么好。今天
就像您说的那样,学生/初学者想吃饱饭。我不同意
这一点,人们应该学会努力工作。

>赶时间的人想要易于使用的可读乐橙云app and to be able to
> just write:-
>
>在1,1,bin12 vara打印
>
>无需编写自己的bin打印例程

在我的书中,时间==金钱,这意味着我做某事的速度越快,
我可以做的事越多,我就可以赚到更多的钱。如果您正在
薪水或业余爱好者,您的职位可能有所不同。如果我必须写
以上在ASM中,也许我将不得不为我的项目收取更多费用。这
最终结果是完全一样的,不管您如何编码,为什么要争论
这么多呢?我不得不在某些Proton项目中编写内联ASM,所以
那里没有问题。

>那些在某个阶段开始使用邮票的人想要 to move on, in the
> past it was Pbpro

现在,Stamps AFAIK使用解释乐橙云app,Stamp编辑器不是 "real"
编译器本身,因为它会生成一组由令牌运行的令牌 "OS"
在PIC中。这与Proton,PBPro或类似产品有所不同
产生真正的机器乐橙云app的编译器,可以直接在
目标PIC。我从Stamps开始,移到BasicX,现在移到
与质子的PIC。

最好的祝福,

麦克风



- - - 原始信息 - - -
来自:迈克尔·普科尔<>
到:<>
发送:2004年11月24日,星期三,2:24 AM
主题:回复:[piclist]回复:质子开发套件 >
>我很抱歉跳进这里,但是作为有关BasicX的帖子
例子
>在Proton +论坛上是我的,我觉得我有一个 right to comment:
>
> - - - 原始信息 - - -
>来自:“塞尔吉奥·马西”<>
> To: <>
>发送:2004年11月21日,星期日,上午4:12
>主题:回复:[piclist]回复:质子开发套件 > >恭喜,我见过人们生产的各种垃圾 that
做过
> >不知道他们在做什么,然后是谁 以它为例

> >“事情到底有多复杂”。如果 你真的想了解
> power
> >一种编程语言,您应该看一看 competant
用户
> >以期对其进行修改。这样的原因 许多专业人士皱眉
> >(非结构化)BASIC是因为许多程序使用 it
结尾
> up
> >很难维护。
>
>您是否在谈论这个具体示例?

嗨,迈克尔,

对不起,您冒犯了我,但我确实没有讲话
特别是关于您的示例。我的陈述(您在上面引用的陈述)
来了:

:: > 有一个例子说明为什么结构化语言& systems, which allow
:: >对于参数传递,各有利弊。
:: >
<snip>
:: > you define Subs and
:: >可以通过值或引用接收参数的函数,以及
:: >返回结果等。它在某些方面非常实用,但是非常
:: >在别人身上很麻烦。

现在,可以(至少)以两种方式读取此语句:(1)是结构化的
编程和参数传递很好,但有时您想做
一些非常简单的事情,必须构建功能令人沮丧
正确的方法,并且(2)结构化的编程还可以,但是大多数时候
只是阻碍了您真正想要做的事情。

谁会开始尝试修改非结构化语言
与视图(2)一起识别,并看到使用它的好处的人
结构化语言将通过视图(1)进行标识。

“结构化的语言恐惧症”的确倾向于试图为自己辩护 by
产生各种废话,因为他更愿意证明
他的初始观点是正确的,而不是实际前进并承认
有更好的做事方法。

再说一次,我不想侮辱或冒犯您。我不是说你
是一种“结构化语言-o-phobe”。我想说的是 that
人们如果真的想通过产生错误的乐橙云app来证明自己是对的

他们应该查看合格用户生成的一些真实乐橙云app,如果他们
真的很想了解好处。我希望这可以澄清我
最初写的。

>为什么是垃圾?有一个
>从BasicX的串行缓冲区读取字符串的十二种方法
>解释器提供了,我看不到为什么这段乐橙云app是垃圾。我用过了

>在很多项目中,尽管都很好 其他限制

>我将不再赘述的BasicX。 The code was simply
贴上
>从项目中进行编辑,只是为了清楚起见, 以身作则。
>我想比较的是写一篇论文所需的时间 simple
>与之相比,Proton +中的串行输入解析功能 is
>微控制器几乎是Visual Basic。告诉我是否更快
>编写并调试Proton +版本而不是BasicX版本? (一些
70
>行与一个)我已经使用BasicX 五年,所以我想

>一个位置告诉你,我不需要你 判断是否
> rubbish or not.

不适用 :-)

>
>我多年的工作向我表明,维护中最糟糕的因素 of
>无论结构化还是非结构化,任何形式的乐橙云app都是COMMENTS,

>不是语言本身。我已经能够 遵循复杂的ASM内容
>因为它的评论非常好,我承认我无法在ASM中进行编码

>我的生活。我已将C乐橙云app移植到Basic,因为它 受到好评。一世
能够
>看我十年前写的程序, follow it quite well
因为
>我几乎每行都发表评论。恩,那就对了, *每*行。评论
>不要在已编译的乐橙云app中占用空间,因此它们可以自由编写。 lop
>程序员不评论他们的乐橙云app,那时候很难
维持
>别人在你面前写过的东西 arrive.

我的经历与您不同。我曾为许多公司工作
和组织,我发现评论经常是错误的。
人们不会以与他们相同的努力来维护评论。
乐橙云app。如果变量的使用发生变化或函数的行为
更改,并且编译器发现了可能会抱怨的问题(如果存在错误)
清单本身将被跟踪并修复,但是当有评论时
不正确的是,它就像一个陷阱一样坐在那里,等待误导您。

评论的真正坏处是它们将信息从
程序并进入程序员。编译器和汇编器不能使用
注释以验证乐橙云app或对其有所了解。使用更多
描述性的变量和函数名称确实有助于使用明智的形式
参数确实有帮助,使用清单常量确实有帮助,使用词汇
范围确实有帮助。

>
> >因此,由于您在使用一种结构化语言时遇到了麻烦, conclude

> >它们都有相同的局限性吗?
>
>不。我的意思是,它们都有局限性。当我有

>使用18F452自己制作数据记录仪 内部闪存
(这
>第一个乐橙云app库用于程序,其他三个 对于数据),我的唯一方法
>在使用内置于ASM中的ASM对其进行写入之前,可能会擦除页面
基本的
>乐橙云app-没有提供直接删除 page of flash. The
>此处的限制很明显,但可以克服。使用BasicX,一次

>破坏堆栈,治愈它的唯一方法是 开始重新使用变量,
>这使得丑陋且比其他乐橙云app维护难度更大
>语言。想象一下,到处都有变量,分别称为dummy1,dummy2等。
>您的乐橙云app,因为如果您声明一个以上的字节变量,整个过程
>崩溃了

但这不是使用局部变量的全部含义吗?

使用局部变量可让您重用以前由一个人使用的RAM
另一个变量的变量。范围可帮助编译器识别哪个RAM
位置可以在多个变量之间共享。这就像增加
可用的RAM数量或具有称为dummy1的变量并重命名
如果可以的话,它适合fred,jack和bert。

>
>另一个例子:Proton +发送串行数据时奇偶校验被破坏了
>也就是说,即使您声明了8个数据位和1个(假设为奇数)奇偶校验位,
>只有8个数据位会被发送出去。我不得不自己撞 routine
>直到修正了错误(确实且及时)后,但我没有
>问题。使用了BasicStamp,AVR,PIC和BasicX之后, of
>他们很多年了,在严肃的商业项目中,我可以 say
>他们都有自己的问题。没有这样的事情 perfect
>语言,甚至不是您撰写过多的XCSB(值得称赞)
>努力提供这样的东西,我在这给你戴上帽子 aspect).
>
> >XCSB没有这样的堆栈限制。您可以在其中调用函数 to
> any
> >您喜欢的深度仅受可用RAM数量的限制。你可以
创建
> >许多小行为举止得很好 具有有意义名称的功能
> and
> >将它们缝合到一个有意义的易于遵循的程序中,而无需
> incuring
> >许多函数调用的开销-您无需重复乐橙云app you
> let
> >编译器会为您完成所有艰苦的工作。
>
>好吧,那是我喜欢Proton +的一件事,我确切地知道在哪里 my
>限制是。这样的PIC,那么多的RAM字节,那么多的程序空间。不

>崩溃向量。没有什么可以抓住你的 are at 80% of the
项目
>而且您必须重新设计整个过程,因为 you start breaking
事物。
>我想XCSB在这方面是相同的,所以这里 他们都击败了BasicX。
如果
>您正在寻找编写乐橙云app的方式,就像 编写Visual Basic,使用
全部
>很好,然后使用BasicX。与往常一样,PIC 正确的工具
> JOB.
>
> >你会不会觉得更多
> >轻松知道,当事情变得复杂时,您可以
进口
> >乐橙云app的复杂部分(由其他人编写) 不影响什么

> >已经写了吗?不用担心 变量名称冲突或特殊
> >参数/结果传递协议或RAM或乐橙云app使用。
>
>您不能期望能够导入其他人的乐橙云app just
>这样,没有任何形式的可变冲突(除非您很幸运,并且
他们
>使用n和m代替x和y)。您可能能够 to keep your own
功能
>和图书馆,我已经为任何 我曾经使用过的编程语言。
I
>一开始就声明我所有的变量,所以对我来说 简单地很容易
>如果看到冲突,请替换变量。我有大量的乐橙云app片段
>我使用相同的变量名就可以简单地添加单独的文件
为了
>类似的事情(即我总是在for-next中使用 loops, etc.)

确实是的,我确实希望您能够导入其他人的乐橙云app而无需
任何形式的可变冲突。在函数本地定义的变量
不能与定义为全局变量或局部变量的变量冲突
功能。通过使用参数传递给函数以将值传递给函数
(不使用全局变量),这进一步消除了可变冲突。

>
> > With a programming
> >语言,例如Proton +,如果您想控制特定的硬件 an
> >您要么依赖编译器的高效优化方式 writer
> >添加对此的支持,或者您必须自己编写 assembler.
>
>并不真地。好吧,如果您正在谈论奇特的硬件,那么您可以
>通常有点爆炸性的事情,我之前在BASIC中已经做到了
问题。
>大多数情况下无需递归到ASM 事物。此外,最常见
>协议已经包含在内,例如1-Wire存在且具有

>一段时间。这是非常容易和方便的 use.
>
> > On the
> >其他硬XCSB最近需要1-Wire功能,因为 user
> (Colin
> >Barnard)与编译器作者没有任何联系,编写了库 to
> >提供功能。而且由于建立了优化 into

> >编译器,1-Wire库同样高效 as if it had been
实施的
> >由编译器作者!
>
>拥有这种可能性非常好,当然更有可能在
打开
>源或免费项目,而不是商业广告 项目。你不会看到
许多
>IDE /编译器供应商为 人们开始写作
>他们自己的插件。您可以在它们周围写*,但不能写成*
>他们。最新的Proton +版本包含一个插件API,您可以使用该API can
>用编写的程序几乎可以做任何您想做的事情,即
连载
>在每次编译时,都有一个在线乐橙云app段 library, etc.
>
>继续努力,我只想请你不要预先判断别人的 work
>不知道他们的背景。

我真的没有对您或您的工作做出任何判断。如果你能
想给我看一些你的作品,我很高兴看到它:-)

>
> Regards,
>
> Mike


问候
塞尔吉奥·马西(Sergio Masci)



- - - 原始信息 - - -
来自:timbox2005<>
到:<>
发送:2004年11月21日,星期日,下午12:15
主题:[piclist]回复:质子开发套件 >相信我塞尔吉奥,我不否认XSCSB是 excellent compiler.
>您可以使14bit核心图片做的很棒,而且您可以自己使用
>汇编程序的核心优化>2k知道怀疑将是一流的。
>
>Proton开发人员决定启用完全兼容性
>使用Mplabs及其工具,他们必须与MPASM及其所有工具一起使用
> failings.
>
>邮票风格的Pic Basic编译器与您的市场不同
>XSCB是IMHO的产品,专为经验丰富的作家而设计
>用书写乐橙云app。能够在那时编写自己的例程
>没有可用的,并了解是否需要转换变量
>在自己调用程序之前。
>
>XSCB仍然只有14位内核吗?

是的,但是XCSB是在XCASM(它是一个元汇编程序)的基础上构建的。移植到
一个新的处理器非常简单,但是我需要解决一些
您首先提出的积分。

>
>就优化而言,我指出的只是一个简单的例子,
>像你一样,我可以付出更多。
>
>但要点是,Stamp风格的Pic Basic编译器位于
>不同的市场。那里适合初学者和赶时间的人。

是的,我理解您的意思,但我认为人们将XCSB视为
比实际情况要复杂得多的东西。演示乐橙云app和
我提供的电路确实应该允许任何人开始修补并下车
迅速地。

>
>初学者什么都交给他们,好编辑
>一键调用编译器并生成乐橙云app。他们要
>非常全面的手册;他们想要很多预制命令。
>
>匆忙的人们希望易于使用的可读乐橙云app并能够
> just write:-
>
>在1,1,bin12 vara打印
>
>无需编写自己的bin打印例程

此刻,您将写:

炭烧爱好者[8]

在t_to_str(buff,vara)
LCD_set_pos(1,1)
LCD_write_str(buff)

但这可以轻松地封装为以下功能:

proc LCD_print(ubyte x,ubyte y,int val)

炭烧爱好者[8]

在t_to_str(buff,val)
LCD_set_pos(x,y)
LCD_write_str(buff)
结束程序

然后用作:

LCD_print(1,1,vara)

但我听到你在说什么。

>
>那些在某个阶段开始使用邮票的人想继续前进,
>过去是Pbpro,现在Proton提供了一个从邮票和
>对于想要更多var类型,更好的数据处理,Floats的Pbro用户,
>无缝的GLCD支持更多命令等。知道是否感到怀疑
>他们已经长出了质子,可以使用XSCSB。
>
>请,请记住我不想启动“我的编译器是
>胜过您的战斗。这份出色的清单值得
> that.
>
>正如我在Sergio高层所说的那样,XSCSB听起来是一个很棒的产品。一世
>虽然会建议您投入更多工作
>
>优化的效果如何,我将继续阅读随附的HTM
>手册我确定编辑器上的说明中有一些。

因此,集成开发环境(IDE)对您很重要。唯一的
我目前正在做的一个工作是更大系统的一部分,价格昂贵。
Stef Mientki有一个名为JALcc的IDE,该IDE支持XCSB(可用)
免费。

>
> Tim
>

谢谢您的意见

问候
塞尔吉奥·马西(Sergio Masci)

http://www.xcprod.com/titan/XCSB -优化PIC编译器
免费用于个人非商业用途