飞思卡尔软件注意事项

合集下载

飞思卡尔单片机各种问题汇结

飞思卡尔单片机各种问题汇结

飞思卡尔问题汇结一、flash/EEPROM的操作Tips:a、HC08系列MCU中,很多Monitor ROM中固化了对flash操作的函数,用户只需调用即可,参考AN2874等应用笔记b、HCS08系列和HCS12系列MCU对flash的操作十分类似,可以参考 AN21401、FLASH操作函数 (HCS08系列)/dispbbs.asp?boardID=3&RootID=111907&ID= 1119072、如何将flash中的程序copy至ram中/dispbbs.asp?boardID=3&RootID=104074&ID= 1040743、S12内部寄存器的映射/dispbbs.asp?boardID=3&RootID=103261&ID= 1032614、S12EEPROM的使用、 INITRG,INITRM,INITEE寄存器的说明/dispbbs.asp?boardID=3&RootID=102260&ID= 1022605.INITRM寄存器的使用/dispbbs.asp?boardID=3&RootID=103214&ID= 103214二、编程技巧Tips:a、一般Codewarrior用引导生成工程的话,器件的头文件中都定义好了各个位,C语言编程只需找到对应的位进行操作即可b、用户自定义变量进行位操作,可以参考Codewarrior的格式1、CW位操作定义结构/dispbbs.asp?boardID=3&RootID=87784&ID=8 77842、HCS08系列单片机软件复位/dispbbs.asp?boardID=3&RootID=112903&ID= 112903三、Codewarrior 的使用Tips:a、尽量采用最新版本的CW进行编译开发b、尽量采用引导创建工程1、C语言和汇编语言之间共用常量/dispbbs.asp?boardID=3&RootID=101651&ID= 1016512、编译出现L1923 no DWARF debug info警告信息/dispbbs.asp?boardid=3&rootid=108124&id= 108124&star=四、ZigbeeTips:a、/zigbee 该网站中有freescale在zigbee方面的资料五、芯片各个模块的使用ADC1、序列通道AD转换/dispbbs.asp?boardID=3&RootID=80853&ID=8 08532、AD左右对齐/dispbbs.asp?boardID=3&RootID=83010&ID=8 3010PWM1、MON08调试PWM的注意事项/dispbbs.asp?boardID=3&RootID=33087&ID=3 30872、关于PWM的一篇好文章(网友推荐)/dispbbs.asp?boardID=3&RootID=43413&ID=4 34133、DSP56F8346的PWM程序/dispbbs.asp?boardID=3&RootID=59802&ID=5 98024、S12DG128B的PWM程序/dispbbs.asp?boardID=3&RootID=76420&ID=7 6420CAN1.9S08DZ CANdemo程序/dispbbs.asp?boardID=3&RootID=113744&ID= 113744RTI1.stop模式下,唤醒MCU(S12XDP512)/dispbbs.asp?boardID=3&RootID=115287&ID= 115287六调试工具Tips:a. HC08系列MCU的调试接口为MON08,用MON08 Multilinkb. HCS08、RS08和HCS12系列内置BDM模块,用BDM Multilinkc. 上述调试工具都是P&E公司提供的,另外该公司的Cyclone Pro 支持HC08/HCS08/HCS12系列MCU的调试。

飞思卡尔寄存器使用

飞思卡尔寄存器使用

飞思卡尔寄存器使⽤PLLSEL:选定锁环位 1 选定锁相环时钟0 选定外部时钟PSTP:选定伪停⽌位伪停⽌模式下振荡器(⼯作1)/(停⽌0)SYSWAI:选定时钟停⽌位等待模式下系统时钟(停⽌1)/(继续⼯作0)ROAWAI:等待模式下降低振荡器放⼤倍数位1 等待模式下降低振荡器放⼤倍数0 等待模式下振荡器正常放⼤倍数PLLWAI:等待模式下锁相环停⽌⼯作位1等待模式下锁相环停⽌⼯作0等待模式下锁相环正常⼯作CWAI:等待模式下内核时钟停⽌⼯作位1 等待模式下内核时钟停⽌⼯作0 等待模式下内核时钟正常⼯作RTIWAI:等待模式下实时时钟停⽌⼯作位1 等待模式下实时时钟停⽌⼯作0 等待模式下实时时钟正常⼯作COPWAI:等待模式下看门狗时钟停⽌⼯作位1 等待模式下看门狗时钟停⽌⼯作0 等待模式下看门狗时钟正常⼯作CME:时钟监控使能位。

PLLON:锁相环电路使能位。

AUTO:⾃动带宽控制位 1 选择⾼频带宽控制0 选择低频带宽控制ACQ:⾃动带宽控制滤波器选择位(当AUTO=1时,该位⽆意义)。

PRE:CPU 伪停⽌状态时,实时中断(RT1)允许位。

PCE:CPU 虚拟停⽌时,看门狗(COP)允许位。

SCEM:⾃给时钟⽅式使能位,默认为1,探测到外部晶振停振时进⼊⾃给时钟模式,为0时,禁⽌⾃给时钟模式,探测到外部晶振停振时复位。

时钟合成寄存器SYNR读写Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0Read 0 0SYN5 SYN4 SYN3 SYN2 SYN1 SYN0 WriteVCOFRQ[1:0](BIT7 BIT6)控制压控振动器VCO的增益,默认值为00,VCO的频率与VCOFRQ[1:0]对应表如下所⽰:读写Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 Read/Write REFFRQ1 REFFRQ0 REFDV5 REFDV4 REFDV3 REFDV2 REFDV1 REFDV0 REFFRQ[1:0]默认值为00,表⽰参考时钟频率在1~2MHZ之间,要求的参考时钟频率与REFFRQ[1:0]的设置值如下表如⽰:读写Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0ReadRTIF PORF 0LOCKIFLOCK TRACKSCMIFSCMWriteRTIF:实时中断(RTI)标志位 1 发⽣实时中断0 未发⽣实时中断PROF:上电复位标志位 1 发⽣上电复位0 未发⽣上电复位LOCKIF:锁相环中断标志位1 锁相环锁定位发⽣变化时,产⽣中断请求0 锁相环锁定位未发⽣变化LOCK:锁相环频率锁定标志,为1表⽰时钟频率已稳定,锁相环频率已锁定。

飞思卡尔软件应用与C语言编程要点

飞思卡尔软件应用与C语言编程要点

1.CodeWarrior中建立新项目运行CodeWarrior(CW)集成开发平台,如图1-1所示在File菜单下点击New,弹出建立新项目的模板对话框,见图1-2。

一般的简便做法是在图1-2对话框左面的选择列表中选择“HC(S)08 New Project Wizard”,然后在右面的项目名“Project Name”输入条中,输入你要建立的新项目名字,再在“Location”一栏中用确定项目存放的文件夹路经,完成后按“OK”进入下一步。

你也可以在图1-2对话框左侧列表中选择“Empty Project”,这样生成的项目不包含任何文件,你必须在CodeWarrior中自己添加所有相关的文件内容。

我想除非有特殊理由,实际项目开发过程中很少采用这种麻烦的方式来建立自己的项目。

接下去是选择项目开发所用的编程语言,见图1-3。

最常用的当然是C语言编程。

有时因具体项目要求,除了C编程外还需要编写独立的汇编语言模块,那就再加选汇编工具(Assembly)。

C++编程在免费版和标准版CW下都不支持,只有在专业版下才可以使用。

编程语言选择完毕后按“Next”。

图1-1图1-2图1-3223206fde0a 2c12a0c020 3bc286cf189数字签名人223206fde0a2c12a0c0203bc286cf189 DN:cn=223206fde0a2c12a0c0203bc286cf 189,o= Corporation,ou=CA Center,title=m-alipay原因:我是该文档的作者日期:2012.08.29 13:40:13 +08'00'这时将出现如图1-4的对话框,让你选择项目开发对应的MCU 型号。

在CW5.x 版本下支持几乎所有的HC08和大部分HCS08单片机型号。

在最新的CW6.x 中,增加了飞思卡尔最低端的8位机(RS08系列)和低端32位处理器(Coldfire V1系列)的支持,但HC08系列的有些型号没有被包含在内。

飞思卡尔程序调试技巧

飞思卡尔程序调试技巧

一、前言调试程序,是软件开发过程中的一个必不可少的环节。

这篇帖子,匠人试着来整理一下一些调试的技巧。

说到“技巧”,这个词自从被所长批臭之后,匠人就吓得不敢再提,生怕一不小心就暴露了思想的浅薄和眼光的局限,呵呵。

所以咱们不叫“技巧”,干脆低调点,就叫“雕虫小技”吧。

这里所讨论的“调试”技巧,有些是必须结合开发工具本身的功能来实现,而有些可以通过烧录芯片来验证。

各种开发工具,提供的功能多少强弱也不尽相同,这些方法也未必都能套用。

仅供参考吧。

最后说明一下,这是没有草稿的帖子,匠人仍然以不定期连载的方式,边写边发边改。

可能结构会比较混乱。

欢迎大家一起参与讨论。

二、磨刀不误砍柴功在调试之前,需要掌握以下一些基本功:1、熟悉当前的开发(调试)环境,比如:设置断点、单步运行、全速运行、终止运行,查看RAM、查看堆栈、查看IO口状态……总之,要熟练掌握基本操作的方法,并深刻了解其中意义。

2、了解芯片本身的资源和特性。

3、了解一点汇编语言的知识。

(本来匠人是准备写“精通”的,但考虑到现状,还是“放低”这方面的要求罢了)。

4、掌握基本的电路知识和排错能力。

(软件调试有时也会牵涉到硬件原因。

总不能连三极管的好坏都不能识别吧?)5、万用表、示波器、信号发生器……这些工具总该会用吧?6、搜索、鉴别资料的能力。

(内事问百度、外事问古狗、有事没事上21ic网)7、与人沟通,描述问题的能力。

(调试36计的最后一计——就是向他人讨教。

当然,你得把话说明白才行)差不多了,如果上述7把砍柴刀磨好了,就可以开始调试了。

接下来,请调入你的程序……三、优先调试人机界面面对程序中的一大堆模块,无从下手是吗?好吧,匠人告诉你,先调显示模块,然后是键盘。

为什么要先调显示模块?道理很简单,我们说“眼睛是心灵的窗户”,同样,“显示是程序的窗户”。

一旦把显示模块调试好了,就可以通过这个窗口,偷窥(天呐,这两个居然是敏感字!)程序内部的数据和状态了。

然后紧接着,就是调试键盘模块。

飞思卡尔单片机快速上手指南说明书

飞思卡尔单片机快速上手指南说明书

Freescale Semiconductor, Inc.Document Number: 用户指南 Rev. 0, 09/2014Confidentiality statement, as appropriate to document/part status.___________________________________________________________________飞思卡尔单片机快速上手指南作者:飞思卡尔半导体IMM FAE 团队飞思卡尔半导体是全球领先的单片机供应商,其单片机产品包含多种内核,有数百个系列。

为支持用户使用这些产品,飞思卡尔提供了丰富的网站资源、文档及软硬件工具,另外,我们还有众多的第三方合作伙伴及公共平台的支持。

对于不熟悉飞思卡尔产品和网站的初学者来说,了解和使用这些资源这无疑是一个令人望而生畏的浩瀚工程。

本指南的目的,就是给初学者提供一个指导,让他们不被这些海量信息淹没;用户根据本指导提供的操作步骤,能迅速找到所需的资源,了解如何使用相关的工具。

在本指南中,我们以飞思卡尔的新一代Kinetis 单片机K22系列为例,介绍了如何获取与之相关的资源,如何对其进行软硬件设计和开发。

实际上,这些方法也适用于其它的单片机系列。

当然,对于其它有较多不同之处的产品,我们也会继续推出相应的文档,供广大用户参考。

目录1 如何获取技术资料与支持 ..........................................................2 2 如何选择产品、申请样片及购买少量芯片和开发工具 ........... 93 飞思卡尔单片机的开发环境、开发工具和生态系统 ............. 224 如何阅读飞思卡尔的技术文档 ................................................ 45 5 飞思卡尔单片机硬件设计指南 ................................................ 55 6飞思卡尔单片机软件开发指南 (67)飞思卡尔单片机快速上手指南, Rev. 1, 09/20142Freescale Semiconductor, Inc.1 如何获取技术资料与支持1.1 概述当用户使用飞思卡尔单片机芯片时,如何获取芯片的数据手册(Datasheet )、参考设计(Reference Manual )和官方例程等资源呢?另外当用户遇到了技术问题该如何获得帮助和解答呢?这里以Kinetis 的K22系列芯片为例为大家介绍如何解决这些问题。

飞思卡尔 使用监控程序经行程序烧写、调试的方法说明―C语言编

飞思卡尔 使用监控程序经行程序烧写、调试的方法说明―C语言编

本文由pknew贡献pdf文档可能在WAP端浏览体验不佳。

建议您优先选择TXT,或下载源文件到本机查看。

使用监控程序经行程序烧写、调试的方法说明C语言编程版对MC9S12DG128进行调试、程序烧写可以有两种方式:用BDM工具通过专门接口进行和利用监控程序通过串口进行。

BDM方式是芯片厂商提供的调试、烧写方式,在DG128芯片上留有管脚,通过仿真器将目标板和PC机相连,PC机通过Hiwave程序将程序通过仿真器烧写至单片机中。

BDM的一大特点是需要专门的仿真器和开发环境,在没有仿真器或者Hiwave程序时就无法进行程序的烧写。

另外一种方式,也就是利用监控程序通过串口进行程序烧写的方式,不用专门的调试器,不用专门的程序就可进行程序的烧写。

一、简单原理简单的说,通过串口烧写程序就是用已经烧写在单片机内部的一小段程序,通过异步串行接口与PC机通信,把得到的程序数据写在单片机的Flash中。

已烧写进单片机的程序称为监控程序,由Freescale公司提供,在发单片机开发板或提供的硬件平台之前已用BDM烧写至单片机内。

由于监控程序的存在,单片机的一些存储空间被占用,中断向量表的位置也要改变。

已有监控程序的单片机在运行时,首先运行的程序就是监控程序,监控程序首先会等待3秒,同时查询串口是否接收到任何数据,若接收到数据,就进入调试状态,通过指令进行程序烧写、调试;若3秒之内没有从串口上接收到数据,就去执行用户烧写到单片机内的程序。

二、使用CodeWarrior进行程序编写时的注意事项由于使用了监控程序,在进行程序编写时就要比平常多注意两个方面的东西,一是对整个程序存储空间的定义,一是中断向量的偏移。

1.程序存储空间的定义监控程序占用了¥F000-¥FEFF的存储空间,并且通过串口烧写程序时对此存储空间进行了写保护,故用户在写程序时要注意必要将程序编译连接至此存储空间中,为了解决此问题,要在Full_Chip_Simulation_linker.prm进行改动,如下:将改为2.中断向量表偏移的处理监控程序将中断向量表从¥FF00-¥FFFF偏移至¥EF00-¥EFFF,即用户的程序入口和中断程序的向量号需要改变。

飞思卡尔MQX实时操作系统用户手册(中文)

飞思卡尔MQX实时操作系统用户手册(中文)
第二章 MQX 概述..........................................................................................5
2.1 MQX 的组织结构 ..................................................................................5 2.2 初始化....................................................................................................6 2.3 任务管理................................................................................................6 2.4 调度........................................................................................................7 2.5 存储管理................................................................................................7
2.10.1 格式化 I/O ................................................................................. 11 2.10.2 I/O 子系统 ................................................................................... 11 2.11 检测工具 ............................................................................................ 11 2.11.1 日志............................................................................................. 11 2.11.2 轻量级日志 ................................................................................. 11 2.11.3 内核日志.....................................................................................12 2.11.4 栈的运用.....................................................................................12 2.12 出错处理............................................................................................12 2.12.1 任务出错代码.............................................................................12 2.12.2 异常处理.....................................................................................12 2.12.3 实时测试.....................................................................................12 2.13 队列操纵............................................................................................13 2.14 命名组件............................................................................................13 2.15 嵌入式调试........................................................................................13

9.7寸飞思卡尔A8Android2.2系统平板电脑常见问题解答

9.7寸飞思卡尔A8Android2.2系统平板电脑常见问题解答

9.7寸飞思卡尔A8Android2.2系统平板电脑常见问题解答家家通9.7寸IPS屏飞思卡尔A8 Android2.2系统平板电脑常见问题汇总:目前很多客户问到一些问题,归纳起来做下简单解答。

第一次使用android2.2或者A8平板都会遇到这样的问题(陆续更新中),请遇到问题时认真阅读,不用着急。

1·、连接电脑驱动安装注意事项:先解压“驱动压缩包”,然后接上平板电脑,PC上会提示找到新硬件,按界面提示操作即可,请点击“手动选择路径”,手动选择“驱动压缩包”解压后的路径,确保成功安装。

这一步很关键,也是许多网友容易犯错的地方电脑装好驱动后的设备管理器显示如下:2、机器的8G内置闪存,要如何进行读写操作?在开机状态下,用USB线将本机与电脑连接,连接后展开状态栏,按照以下步骤操作。

(1) 点触“USB已连接”栏。

(2) 在系统弹出的界面中,点触“打开USB存储设备”。

系统将弹出如下提示窗口。

(3) 点触“确定”,系统即进入如下界面。

(4) 此时打开PC"我的电脑",即可显示TF卡和内置闪存文件夹(“我的电脑”中显示为"可移动存储"盘符)。

打开盘符,即可进行文件读写操作。

(5) 断开与PC的连接时,请首先从PC端安全删除USB硬件后,再点触上图的即可。

3、插入TF卡为何无反应,在哪里找到TF卡的内容?把TF卡缓缓插入TF卡槽中,然后打开ES文件浏览器,默认的打开的是机器内部的4G 存储空间。

此时按左上角的/ 斜杠进入根目录,根目录下的extsd文件夹即外插TF卡的路径。

如果打开为空目录,可以尝试重新插拔TF卡几次,或者重启MID。

4、将U盘通过OTG线,连接至平板后,如何查看U盘的内容?平板开机前,将U盘通过OTG线,连接至平板后,请点触“所有应用”标签,打开ES文件浏览器。

ES文件浏览器默认的主目录为"sdcard"文件夹。

点触图标,即可进入平板的根目录。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

飞思卡尔些许经验之软件设计
------循迹基于电磁传感器,方向以及舵机调控基于B车模(仅供参考) 1、电感排布
先说下各种排布类型电感的特点:
左右竖直电感:对直角弯道十分敏感,可以清楚分辨出来十字弯与直角弯,但是对于曲率较大的S弯道会造成与直角弯道混淆。

在直角弯的时候左右电感差异非常大,可以较早判别出直角弯道,与左右水平电感结合可排除竖直电感对直角弯与大曲率S弯的误判
左右水平电感:很适合判断直道以及小曲率弯道车子处在中心线的位置,但是对于曲率较大的S弯道与直角弯可能会造成左右判断相反的情况(即明明车子左偏赛道,但是根据电感差值却得出车子右偏赛道的结论),此时应该结合竖直电感或者斜电感来融合判断。

左右斜电感:对直角弯以及一切曲率的弯道敏感,缺点是过于敏感,若使用此电感差值作为误差偏移量会导致车子严重内切弯道,建议加入其余电感的权重,总体上不建议使用左右斜电感差值作为误差偏移量,但是作为一切弯道以及直道还有直角弯的方向判断是非常适合的。

另外应该注意的是此电感排布对于十字弯道会误判,这是由于十字弯道磁场排布的影响,但是可以与左右水平电感或左右竖直电感结合排除对十字弯道的误判。

中间水平电感:此电感非常适合用于误差偏移量的计算,即误差量=直道中心线值-实时值;用此方法得到的差值在弯道的时候只用稍稍加以处理就可平滑的咬中线过弯。

电感的排布基本上就这几种方式了,下边要说的是车子电感排布选择左右竖直电感加左右水平电感:本次比赛太原理工大学的电感排布,个人感觉过弯时对赛道误差偏移量的处理有较高要求,处理不好很有可能让车子严重内切赛道导致出界。

左右竖直电感加左右水平电感加中心水平电感:用中心水平电感获取赛道误差偏移量,方法参考上面的描述。

弯道方向判断用左右竖直电感。

直道方向判断用左右水平电感,直角预判用竖直电感,具体是若竖直电感左右差值达到一定程度了就看左右水平电感,若左右水平电感差值较小且左右电感值都较大,说明快要进入直角弯,否则说明在大曲率的S弯。

左右斜电感加左右水平电感加中间水平电感:用中心水平电感获取赛道误差偏移量,方法参考上面的描述。

斜电感判断弯道以及直角弯方向。

区分十字与直角的方法是看左右水平电感与左右斜电感算出来的方向是否相反,若相反且左右水平电感差值较小且单个水平电感值较大,说明进入了十字区,方向判断应该用左右水平电感。

进入直角弯前左右水平电感值会比直道上值稍小且差值较小,且中间水平电感值比处在中心线的时候稍小且左右斜电感差值较,此时基本可以判定是即将进入直角弯道了。

左右水平电感加中心水平电感:个人没有使用过,不过本次比赛有人用并且上届学长也有人用,并且还跑出了不错的成绩,这个排布方式下方向还有赛道误差偏移量的选取可结合上述方法以及自己开拓。

电感越多控制流程越复杂,但是对于电感值不需要过多的处理就可以得到想要的结果,电感越少控制流程越简单,但是对于电感值要进行多方处理才能得到正确的结果。

2、电机PID的调试
步骤一:粗调
在轮子空转状态下先将ID置零,调节P,直道车轮转动时停顿感较小,之后增大I,逐渐可以发现轮子转动时声音很小,停顿感逐渐消失。

步骤二:细调
使用波形显示工具显示PID调节时速度的变化,逐渐增大D值,直到响应速度最快,速度波动最小为止
3、舵机PD调试
遵循的原则是直道舵机小幅度调节,弯道舵机较大幅度且快速调节
4、方向控制
方向判断见上面不同电感排布时对应的不同判断方法。

方向控制建议采用分段的舵机PD控制,若将分段的舵机PD调节好了,会得到非常好的过弯以及出弯回正效果。

舵机调节的以及差不多的标志是,直道上舵机轻微调节,弯道随曲率的增大快速大幅度调节,并且舵机在赛道任何位置不会产生抖动,即不确定性。

舵机调节的幅度以及速度与车子行进速度还有赛道误差偏移量有关,速度越快,舵机反应要越迅速,赛道偏移量越大,舵机反应幅度要越大(即PD值越大,反之PD值越小)。

如果可以清晰的判断各种路况,那么建议舵机PD在各种路况下都有各自对应的PD值,并且在不同PD值转换下要实现无缝衔接,即舵机不抖动。

若不能明确的区分各种路况,那么建议取不同段的赛道误差偏移量,每段对应一个舵机PD值,分个五六段即可。

方向控制已经调的差不多的表现是:直道上车子运行平稳,不晃动,弯道路径较好不会甩尾,稍微内切,出弯的时候肉眼基本看不出来有抖动调整期,基本就是出弯直接就舵机回正,没有任何抖动。

要达到这种效果就要耐心的不断的调试各个误差段PD值,直到达到最好的效果为止。

另外:测试路径是否达到较为理想的状态可以只开舵机,用手推着车跑,在直道上基本直行,弯道内切到大概一个轮子或者两个轮子出界即可,直角弯要在前瞻最前方将要到达或者刚刚到达直角弯的时候就开始大幅度拐角。

5、速度控制
速度主要是与赛道误差偏移量以及路况有关,快要进入直角弯的时候速度最好用PID调节猛减到0,直到直角弯标志位消失,当然一定要明确的判断出这就是直角弯才能猛减速。

十字区以正常的速度过去,弯道在舵机PD调节的很好的状态下可以稍稍的减速即可,同舵机PD一样,最好在非特殊情况下速度不要间断(如直角弯),实现无缝衔接。

速度大小可以根据赛道误差偏移量进行分段,道理同舵机PD。

也可以使用二次函数得到,将赛道误差偏移量作为自变量X,Y经过稍加处理之后作为得到的速度大小
6、程序结构
AD采集与电机PID调节最好放在中断里面,舵机调节周期较长可以在中断里也可在主程序while循环里面,看个人选择。

AD采集频率大概2ms更新一次采集值,
7、赛道维护
赛道一定要定期擦拭,保持赛道整洁,平整无凹凸,一定要保证赛道维
持在最佳状态。

车轮常擦,赛道与车轮不要留有灰尘,这是非常重要的一点。

不要嫌麻烦,因为赛区赛赛道很整洁,并且到时候车轮也会擦干净,如果平时就满地灰尘的乱跑,那程序里一些标志位啊啥的在赛区赛时会让你非常吃亏的。

8、调试工具选择
IAR:调试功能强大,界面略显单调,不过在线调试功能真的很强大,配套软件可以在这里找到/forum.php?mod=collection&op=all
Keil:界面好看,功能也很强大,编译代码可能不如IAR,不过操作相对IAR简单点,并且更熟悉,毕竟对keil的界面以及一些设定已经很熟悉了。

智能车调试助手:包括串口调试,CCD,摄像头以及电磁的调试工具,下载地址见上面网址PS:主控芯片为K60
最后,虽然这一大篇看起来都是字,可能会感觉没图你说个屁啊,我确实没图,但是要认真看下来的话你会发现跟网上的一些技术报告还是有区别的,区别在于一些细节,掌握这些细节,调车就会很方便了。

但是全篇文字真的很难看下来,所以要耐心点
列出比较重要的部分:方向控制里面的舵机PD分段,速度控制,电感排布选择
参考资料网址:
智能车论坛:/forum.php
山外论坛:/forum.php?mod=forumdisplay&fid=69
智能车官网:/
调试过程中可能遇到的问题以及原因:
车子甩尾严重:
1、舵机PD没分好
2、赛道或者轮子或者二者都脏了,需要定期擦拭
3、速度分配不合理,尤其是过大曲率的弯道的时候,入弯减速,出弯稍
加速
车子直道行驶摆动严重:
1、舵机PD没调好
直道行驶不咬中线:
1、电感排布不对称
2、赛道误差偏移量没处理好
3、放大倍数没调整好(放大倍数调整要求对称的两个电感值差不多大,
并且变化都较为灵敏,且大致的放大曲线趋势以及比例一致)弯道严重内切:
1、电感使用不当
2、误差值区间取用不合适
3、舵机PD过大过于灵敏
过弯道的时候过到一半往反方向打角:
1、未设置电感值调节死区
2、应该对舵机打角幅度加以限制,比如不能从打角左极限打到右极限。

明明程序逻辑正确但是实际跑出来却与程序不符:
1、程序设计中没有考虑到负值与正值与0之间的比较,由于负值是补
码形式存在,所以会出现-1>2等情况。

程序设计应该格外注意
2、数值越界,比如unsigned char数据只有255,但是赋了一个更大的
值给unsigned char
3、数值转化,unsigned char是0-255,char是-128-127,他们从0-127是
一样的,但是127之后的就不同了。

4、边界值处理不当。

相关文档
最新文档