大家好, 是否有人有这个BASIC程序员的经验。不是我 需要BASIC,但此编译器似乎还不错,并且包含 SPLICE模拟器也非常简洁。 我仍在尝试寻找合适的编译器,并且正在寻找其中一个 CCS,PICBASIC Pro和Proton开发套件。 我终于选择了PIC系列微控制器,这是 下一步。我主要从事机器人技术工作,不希望成为 如果不需要的话,可以在汇编器中进行处理。 谢谢, 加里 |
|
质子开发套件
开始于 ●2004年11月17日
回覆者 ●2004年11月17日2004-11-17
嗨,加里, 我有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 |
回覆者 ●2004年11月18日2004-11-18
正如其他答复所说,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 |
回覆者 ●2004年11月20日2004-11-20
- - - 原始信息 - - - 来自: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编译器 免费用于个人非商业用途 |
|
回覆者 ●2004年11月21日2004-11-21
相信我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]回复:质子开发套件 |
回覆者 ●2004年11月23日2004-11-23
我很抱歉跳进这里,但是作为有关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段库等。 保持良好的工作,我只想请你不要预先判断别人的工作 不知道他们的背景。 问候, 麦克风 |
|
回覆者 ●2004年11月25日2004-11-25
你是绝对正确的,而且写得很机智。成为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 > > |
回覆者 ●2004年12月5日2004-12-05
蒂姆,你好 - - - 原始信息 - - - 来自:“ 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年12月5日2004-12-05
- - - 原始信息 - - - 来自:迈克尔·普科尔<> 到:<> 发送: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) |
回覆者 ●2004年12月5日2004-12-05
- - - 原始信息 - - - 来自: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编译器 免费用于个人非商业用途 |