有时项目外设比较多,很容易造成串口不够用的情况。
最近就遇到了,新增加一个GPS模块串口的,串口现在外部只有原来的调试串口可以用,所以
尝试将调试口更改为普通串口。
经过网上看大神们的文章和自己摸索,总结如下:
V3S 修改调试串口步骤:
第一步修改设备树:
路径~/corelinux/v3ssdk/tools/pack/chips/sun8iw8p1/configs/tiger-spinand-standard/sys_config.fex
根据需求修改对应的uart.
;[uart_para]
uart_debug_port =0;
107 ;[uart_para]
108 ;uart_debug_port = 0
109 ;uart_debug_tx = port:PB08<3><1><default><default>
110 ;uart_debug_rx = port:PB09<3><1><default><default>
111
112 uart_debug_port = 2
113 uart_debug_tx = port:PB00<2><1><default><default>
114 uart_debug_rx = port:PB01<2><1><default><default>
第二步修改系统环境配置文件
路径~/corelinux/v3ssdk/tools/pack/chips/sun8iw8p1/configs/default/env.cfg
更改console =ttyS0,115200 ->console =ttyS2,115200
第三步修改终端重定向串口
路径:prebuilt/rootfs-override/etc/inittab
ttyS0::respawn:/sbin/getty -L ttyS0 0 vt100 # GENERIC_SERIAL
ttyS2::respawn:/sbin/getty -L ttyS2 0 vt100 # GENERIC_SERIAL
将调试串口断掉方法。
将以上3步骤对应的设置都注释掉
修改后编译调试:
用ssh网口进行调试。
查看串口波特率等信息:
stty -F /dev/ttyS0 -a #ttyS0为要查看的串口
设置串口参数:
stty -F /dev/ttyS0 ispeed 115200 ospeed 115200 cs8
该命令将串口1(/dev/ttyS0)设置成115200波特率,8位数据模式。
根据信息配置电脑的串口助手
echo "test" > /dev/ttyS0
电脑串口助手 即可收到 test.
串口助手发送test 一定要加上回车+换行
终端 cat /dev/ttyS0
过程中遇到的问题:
在linux 下 cat /dev/ttyS0 接收.
但奇怪的是 cat /dev/ttyS0没有显示受到认识数据,反而是我的串口调试助手收到了返回!!
linux端不用 cat /dev/ttyS0读的时候没有返回!
原因:
1.windows要发送可显示字符,cat才能显示出来。
2.串口调试助手设置了回显功能。
3.windows的串口调试软件发送时多发一个回车键就行了,而且之前发过去没显示的都会显示出来。这跟linux下printf不加"\n"就没显示是一个道理的。
关闭后如何在应用层打开的方法
写一个脚本执行open_console.sh。
不写在脚本里面,直接在终端执行是否可以?
在终端中执行getty 会报错误因为getty 要是一个会话的领导者(网上看的,不太懂),所以要执行脚本open_console.sh。
#!/bin/sh
#
#
#
#/sbin/getty -L ttyS0 0 115200 vt100
/sbin/getty -L ttyS0 115200 linux &
exit 0
如何正确创建Rails迁移,以便将表更改为MySQL中的MyISAM?目前是InnoDB。运行原始执行语句会更改表,但它不会更新db/schema.rb,因此当在测试环境中重新创建表时,它会返回到InnoDB并且我的全文搜索失败。我如何着手更改/添加迁移,以便将现有表修改为MyISAM并更新schema.rb,以便我的数据库和相应的测试数据库得到相应更新? 最佳答案 我没有找到执行此操作的好方法。您可以像有人建议的那样更改您的schema.rb,然后运行:rakedb:schema:load,但是,这将覆盖您的数据。我的做法是(假设
我在我的Rails项目中使用Pow和powifygem。现在我尝试升级我的ruby版本(从1.9.3到2.0.0,我使用RVM)当我切换ruby版本、安装所有gem依赖项时,我通过运行railss并访问localhost:3000确保该应用程序正常运行以前,我通过使用pow访问http://my_app.dev来浏览我的应用程序。升级后,由于错误Bundler::RubyVersionMismatch:YourRubyversionis1.9.3,butyourGemfilespecified2.0.0,此url不起作用我尝试过的:重新创建pow应用程序重启pow服务器更新战俘
我尝试使用不同的ssh_options在同一阶段运行capistranov.3任务。我的production.rb说:set:stage,:productionset:user,'deploy'set:ssh_options,{user:'deploy'}通过此配置,capistrano与用户deploy连接,这对于其余的任务是正确的。但是我需要将它连接到服务器中配置良好的an_other_user以完成一项特定任务。然后我的食谱说:...taskswithoriginaluser...task:my_task_with_an_other_userdoset:user,'an_othe
GivenIamadumbprogrammerandIamusingrspecandIamusingsporkandIwanttodebug...mmm...let'ssaaay,aspecforPhone.那么,我应该把“require'ruby-debug'”行放在哪里,以便在phone_spec.rb的特定点停止处理?(我所要求的只是一个大而粗的箭头,即使是一个有挑战性的程序员也能看到:-3)我已经尝试了很多位置,除非我没有正确测试它们,否则会发生一些奇怪的事情:在spec_helper.rb中的以下位置:require'rubygems'require'spork'
假设我有一个FireNinja我的数据库中的对象,使用单表继承存储。后来才知道他真的是WaterNinja.将他更改为不同的子类的最干净的方法是什么?更好的是,我很想创建一个新的WaterNinja对象并替换旧的FireNinja在数据库中,保留ID。编辑我知道如何创建新的WaterNinja来self现有FireNinja的对象,我也知道我可以删除旧的并保存新的。我想做的是改变现有项目的类别。我是通过创建一个新对象并执行一些ActiveRecord魔法来替换行,还是通过对对象本身做一些疯狂的事情,或者甚至通过删除它并使用相同的ID重新插入来做到这一点,这是问题的一部分。
下面的代码在我第一次运行它时就可以正常工作:require'rubygems'require'spreadsheet'book=Spreadsheet.open'/Users/me/myruby/Mywks.xls'sheet=book.worksheet0row=sheet.row(1)putsrow[1]book.write'/Users/me/myruby/Mywks.xls'当我再次运行它时,我会收到更多消息,例如:/Library/Ruby/Gems/1.8/gems/spreadsheet-0.6.5.9/lib/spreadsheet/excel/reader.rb:11
使用Ruby1.9.2运行IDE提示说需要gemruby-debug-base19x并提供安装它。但是,在尝试安装它时会显示消息Failedtoinstallgems.Followinggemswerenotinstalled:C:/ProgramFiles(x86)/JetBrains/RubyMine3.2.4/rb/gems/ruby-debug-base19x-0.11.30.pre2.gem:Errorinstallingruby-debug-base19x-0.11.30.pre2.gem:The'linecache19'nativegemrequiresinstall
我有:When/^(?:|I)follow"([^"]*)"(?:within"([^"]*)")?$/do|link,selector|with_scope(selector)doclick_link(link)endend我打电话的地方:Background:GivenIamanexistingadminuserWhenIfollow"CLIENTS"我的HTML是这样的:CLIENTS我一直收到这个错误:.F-.F--U-----U(::)failedsteps(::)nolinkwithtitle,idortext'CLIENTS'found(Capybara::Element
我想解析一个已经存在的.mid文件,改变它的乐器,例如从“acousticgrandpiano”到“violin”,然后将它保存回去或作为另一个.mid文件。根据我在文档中看到的内容,该乐器通过program_change或patch_change指令进行了更改,但我找不到任何在已经存在的MIDI文件中执行此操作的库.他们似乎都只支持从头开始创建的MIDI文件。 最佳答案 MIDIpackage会为您完成此操作,但具体方法取决于midi文件的原始内容。一个MIDI文件由一个或多个音轨组成,每个音轨是十六个channel中任何一个上的
文章目录1.开发板选择*用到的资源2.串口通信(个人理解)3.代码分析(注释比较详细)1.主函数2.串口1配置3.串口2配置以及中断函数4.注意问题5.源码链接1.开发板选择我用的是STM32F103RCT6的板子,不过代码大概在F103系列的板子上都可以运行,我试过在野火103的霸道板上也可以,主要看一下串口对应的引脚一不一样就行了,不一样的就更改一下。*用到的资源keil5软件这里用到了两个串口资源,采集数据一个,串口通信一个,板子对应引脚如下:串口1,TX:PA9,RX:PA10串口2,TX:PA2,RX:PA32.串口通信(个人理解)我就从串口采集传感器数据这个过程说一下我自己的理解,