找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2145|回复: 0
打印 上一主题 下一主题
收起左侧

用bascom-avr调试arduino板

[复制链接]
跳转到指定楼层
楼主
bascom-avr语句简洁易学,部分语句兼容VB、excel的VBA函数,部分程序可以参考移植学习。
下面用bascom-avr调试arduino板
一、
1、编译
用bascom-avr打开实例inkey.bas,程序共18行,按F7编译。


程序运行过程:串口接收一个字节变量A,通过串口输出接收的字符和对应的ASCII码,接着判断其是否是十进制27=十六进制1B=键盘ESC的ASCII码,如果不是则继续接收和输出串口变量A,如果是27则串口输出ASCII码,进入只接收27后终止接收程序。(共接收3次27结束程序)
2、仿真
编译后按F2进入仿真见面,按F5仿真运行,在串口窗口输入字符,程序运行相应结果

3、选择写固件软件


4、设置写固件软件


5、写固件


6、串口测试


源程序如下:
  1. '------------BASCOM-AVR串口inkey实例----------------------------------------------
  2. 'name                     : inkey.bas
  3. 'copyright                : (c) 1995-2020, MCS Electronics
  4. 'purpose                  : demo: INKEY , WAITKEY
  5. 'micro                    : Mega328p
  6. 'suited for demo          : yes
  7. 'commercial addon needed  : no
  8. '----------------初始化硬件配置--使用arduino开发板-------------------------------------------------------------

  9. $regfile = "m328pdef.dat"                                     'atmega328p硬件
  10. $crystal = 16000000                                          ' 16MHZ时钟
  11. $baud = 19200                                               ' 串口波特率
  12. $hwstack = 32                                               ' default use 32 for the hardware stack
  13. $swstack = 10                                               ' default use 10 for the SW stack
  14. $framesize = 40                                             ' default use 40 for the frame space
  15. '-----------------变量定义---------------------------------------------------------------
  16. Dim A As Byte , S As String * 2
  17. '-----程序运行----串口接收一个字节变量A,通过串口输出接收的字符和对应的ASCII码,接着判断其是否是十进制27=十六进制1B=键盘ESC的ASCII码,如果不是则继续接收和输出串口变量A,如果是27则串口输出ASCII码,进入只接收27后终止接收程序。(共接收3次27结束串口接收程序)
  18. Do
  19.    A = Inkey()                                              '从串口获得ASCII变量’get ascii value from serial port
  20.    's = Inkey()
  21.    If A > 0 Then
  22.       '------循环判断如果大于0则输出字符和对应的ASCII码,如果是27则停止循环接收-----------------------------------------------------------------------                                             'we got something
  23.       Print Chr(a);" ASCII code " ; A ; " from serial"
  24.    End If
  25. Loop Until A = 27                                           '是27则停止循环接收(直到按下ESC)

  26. A = Waitkey()                                               '等待接收到字符
  27. 's = waitkey()
  28. Print Chr(a)                                                '串口输出字符

  29. 'wait until ESC is pressed
  30. Do                          ' 循环接收=27则结束程序
  31. Loop Until Inkey() = 27

  32. 'When you need to receive binary data and the bibary value 0 ,
  33. 'you can use the IScharwaiting() function.
  34. 'This will return 1 when there is a char waiting and 0 if there is no char waiting.
  35. 'You can get the char with inkey or waitkey then.
  36. '-----------------程序结束-----------------------------------------------------------------
  37. End
复制代码

全部资料51hei下载地址:
inkey源程序.rar (1.13 KB, 下载次数: 7)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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