你发现俺对于脑二点零版本的创口监视器的 bug 了吗?旧版需要三步工具,端口选择实际的端口号才能打开创口监视器。 然而新版只需要在上边栏选择开发版检测到的啊?对呢版和端口号会一起显示,在这里所见即所得。 打开后,旧版会重新弹出一个小窗口。新版是直接在主界面的底部显示。输入指令后,旧版可以直接按 ant 完成发送。 新版需要使用 control 加 enter, 对于麦克用户来说是 command 加 enter。 旧版 需要重新双击打开啊 doino 软件才可以同时打开两个不同的创口监视器。 新版直接在原来的界面上新建一个代码,就可以打开两个创口。此外,新版创口打印中文会出现乱码的情况, 没有旧版稳定,这算是当下的 bug 吗?当然和旧版一样,新版也不具备保存串口打印内容的功能。
粉丝3620获赞1.5万

大家好,今天由我来跟大家分享一下创口数线乱码或者收到了数据不对怎么办?我们的公司所有的创口通讯相关的产品用户都可能遇到这种问题, 彪马的原因通常有两个,一、波特力、数据位、消音位不匹配及我们的网络转创口设备以客户设备波特力不匹配 设置成一致即可。二、阴间问题要注意, ttl i s 二三二、 is 四八五 这几种电瓶形式是不相同的,不能直接连接,需要用二三二芯片或者四八五芯片进行转发。客户最常犯的一个错误就是 是将 ttl 的电瓶直接接到计算机上,肯定会出现乱码,计算机是 is 二三 l 电瓶, 另外音件设置不当有干扰,也可能导致通讯不正常,只是警察音件即可。给大家演示一下窗口出现乱码或者收到数据不对怎么办? 一、先先把那 usb 插到电脑的 usb 扣,然后用两条线,如果你是四二二设备的话,用两条线进行一三二四进行短接, 然后通过创口调试助手进行调试,打开连接或者发送两端编码方式设置 不一致,如发送端式十六禁制,而接收端式二禁制或者其他禁制也会产生乱码的现象。 现在是能发送也能收到的数据,就说明我们的设备是可以是正常的通讯。这里可以看到这两个灯他有在闪,说明他是正常接收和通讯的。 如果出现乱码的话,有可能就是你修改了波特率,还有效应位出现了错误,导致了乱码,所以你要根据你的设备进行修改,正确的波特率能正常打开,这样呢就可以解决到乱码 或者收到了数据不对这种问题。好,谢谢大家,今天的分享就到此结束啦,希望大家继续关注语态高科。

最近在调试一块新板子的时候,发现一个问题,板子使用的是一个国产的处理器芯片,表现为如果板子二三二串口的发送和接收与电脑串口连接时,板子可以正常进入系统,这个视频就是产品进入系统的 log 打印。 但是如果板子与电脑只接二三二串口的发送信号,不接二三二串口的接收信号,或者二三二串口的发送和接收信号都不接,板子不能进入系统,只能进入到 ubot, 并且落个打印还会出现乱码,这个视频就是板子无法进入系统的落个打印这个板子处理器芯片创口部分的电路示意图是这个创口信号从处理器出来是一点八伏,经过一个一点八伏 转三点三伏的电瓶转换芯片变成三点三伏的串口信号。再经过一个 max, 三二三二芯片,将三点三伏的串口信号变成二三二电瓶的串口信号,最后经过 tvs 防护电路连接到串口连接器。 发送信号是从板子处理器端出来,在电脑端接收。接收信号是从电脑端出来,板子处理器端接收。 板子处理器芯片在系统启动时会一直发送 log 信息,也就是启动时窗口的发送信号会在一段时间内一直有数据, 但是在电脑端只要不按按键接收信号,一般不会有数据。在板子连接了二三二串口的发送和接收信号时,我们测量二三二串口的发送和接收信号, 当发送信号有数据时,波形是这一个,黄色的是发送信号,蓝色的是接收信号。我们可以看到接收信号一直是一个负值,也就是二三二电瓶的逻辑一, 当板子没有连接二三二串口的接收信号,只连接了发送信号时,我们测量二三二串口的发送和接收信号波形是这一个。 大家可以看到二三二串口接收信号在发送信号变化时也会莫名其妙的产生信号。我们再看一下串口二三二的接收信号和三点三伏的接收信号波形是这一个。 大家可以看到由于二三二接收上莫名其妙的信号,导致三点三伏的接收上也会有数据。讲到这里也就解释了为什么不接二三二串口的接收信号版 则会进入到优布特,因为当系统启动时,在优布特界面会等待两秒,如果这两秒时间内,你在电脑界面按任意按键进程就会进入到优布特,而不会进入到系统。 但是我们在电脑端明明是没有按下按键的,我猜测系统检测到有按键按下,是由于二三二窗口上这些莫名其妙的信号组成了某个按键,从而导致启动时错误的进入了优布特。 知道了启动进入优步特的原因是由于串口接收端上这些莫名其妙的信号。接下来我们分析串口接收端上这些莫名其妙的信号是如何产生的。 我们再来看一下板子上没有连接二三二串口的接收信号,只连接了发送信号时二三二串口接收和发送的波形。 大家可以看到只有在发送信号跳变的时候,接收信号上才会产生这些莫名其妙的信号,并且从接收端上的信号波形来看,很像电容的充放电, 但是整个串口电路上是没有放电容的,经过排查最后我发现是因为串口的防护电路引入了电容,防护电路接了三个 tvs 管,大家都知道 tvs 管是有节电容的,查数据手册才知道我使用的这个 tvs 管节电容在一纳阀左右, 然后 max 三二三二芯片内部在接收端是有一个五千欧的下拉电阻的,再加上 tvs 管的节电容就构成了一个 rc 电路,由于电容两端电压是不能进行突变的,所以串口发送信号的上升严和下降严,电 容会进行放电和充电,也就很好的与我们前面测量的这个波形相对应了。知道了系统进入优不特的原因,整改的话当然也就很容易了,我们只需要更换节电容比较小的 tvs 管即可。今天的分享就到这里,谢谢大家。

哈喽,大家好,今天由我跟大家讲解一下用测试软件测试创口服务器时发现乱码怎么办?故障原因,检测,一、 创口仓是不匹配。二、无故开启率看功能问题解决。一、确认通信环境周围有无强资产,检测通信线是否接触良好, 通信线的质量是否 ok。 二、确认测试软件创口服务器 和创口设备的参数是否匹配一致。三、建立虚拟创口时,创口服务器的 vivo 配置了界面中的工作模式,应选择 recome mode 模式。 好,今天简简就到此结束了,谢谢大家,希望大家仔细关注以泰高科。

在技术售后中,会经常遇到使用 adilina 的小伙伴咨询怎么样在彩屏上显示中文字符的问题,为什么 adilina id 不能直接输出中文字符呢?这是因为啊, 德云诺 ide 使用的是 utf 八编码格式,而国内大部分的液晶屏支持的是 gb 编码格式。那么 utf 八和 gb 编码有什么区别呢? utf 八是一种多字节编码,它对英文使用八位记一个字节,中文使用二十四位记三个字节来编码。 utf 八包含了世界上所有国家需要用到的字符,是国际编码,通用性强。 cb 编码 使用双字节编码,即不论中英文字符均使用双字节来表示。 gb 编码适用于汉字处理,汉字通信通行于中国大陆。从文件大小看, utf 八比较臃肿,加载更慢。 gb 码比较小巧,加载速度比较快,所以 很多国内的厂商彩屏都支持 gb 码,而不支持 utf 八编码。输入中文字符编辑的时候就会被编辑成 utf 八编码,这样显示的时候中文就会乱码。 在我们的应用彩屏中,为了显示汉字有多种方法,如果使用的汉字数量较少,可以使用字母软件对汉字进行取字母操作。我们还可以使用字符串数组的方式, 中文字符单独保存,让他不被卡丁的 id 进行变异,直接来调用。还有的小伙伴直接将其密码转成十六斤至,在城区里头用十六斤至来显示中文。 在实践当中呢,也遇到过大牛直接修改阿迪诺 id, 直接将 utf 八编码转成 gb 码。为什么国内液晶屏厂商不愿意使用 utf 八编码呢?这主要是因为 utf 八编码是变长度的,他可能是一个字节,也可能是两个三个字节,甚至最长可以是六个字节。但 gb 码呢,是标准长度两个字节,就彩屏处理算法上看, gb 码更容易 更简单。那么问题来了,在阿迪呢 ide 支持击毙编码之前,有没有一种更简便的方法来解决中文字符输出的问题呢?答案就是 atfc 系列创口智能屏得利于 atfc 六百兆的主频, atfc 彩屏可以做更多的算法编码, 不但支持中文的击毙编码,还支持 utf 八编码。创口智能屏不但能显示简体中文、繁体中文、日文、阿拉伯文,还可以显示其他一些不常见的国家的文字。那我们如何使用 atfc 创口评来输出中文呢? 使用方法非常简单,您只要在啊对运动 id 中通过创口打印指令输出中文字符,这时候彩屏呢,就会自动来显示中文。 a、 t、 f、 c 系列彩屏显示中文就是如此简单。 除此之外,他还支持矢量字库的显示,他可以来显示一些艺术的字体,让您的彩屏的开发更简单。有关史亮字库,请看我们的高级教程史亮字库篇,谢谢大家,欢迎关注我们!

上一个视频,我们已经能成功让 ado eno 识别到我们发送的窗口指令了。这一期我们把输入方式更改为换行,再来输入一个一按回车键发送, 结果发现窗口打印的是 note fun 说明,而读一 no 并没有识别到我们发送的指令,这是怎么回事呢? 难道出 bug 了吗?这是因为你输入的制服串后面多了一个换行服,也就是反邪感恩。那么怎么才能让阿杜伊诺接受正确呢? 在程序中把一幅判断条件更改为一反斜杠 n, 这时候再来输入指令啊, do you know 就可以正常识别了,你学会了吗?

好,大哥说还不知道怎么用单片机来获取红外遥控的按键编码,那么今天我们来演示一下,这里的话使用的是米思奇里边的这个红外通信,我们直接把这个模块拉过来, 然后配置好端口,直接下载打开窗口监视器就可以啦,那么这个时候我们按下对应的这个按键,按下一二三,然后这里就会有他对应的这个编码,这个 ff 三零 cf, ff 幺八一七, 还有 ff 七 a 八五就是对应的这个编码了。如果说我们拿这个电视机遥控器啊来试一试啊,这样按下一二三四五六,我们这几个就是电视机遥控器对 用的这个红外编码是这样的一个状态,如果说我们家里边有这个这种遥控器啊,或者是类似的遥控器,或者说是有一些废旧的遥控器啊,想用这种红外模块啊去做一些改装,或者一些做一些控制的话, 那么就可以使用米思琪这样搭建一个小的程序,比如说我们获取到了这个户外信息之后怎么用呢?还可以把这个控制里边的 switch 给它拉过来,然后的话我们在里边加上不同的状态去处理就可以了。然后这里 switch 判断的是这个 ir item 这一个音量啊,我们需要在这里把对应的这个边 密码值哎给他写一下就行了,只不过这里需要注意的一个事情就是这里我们按一下对应的按键一二,然后这里会有 ff 三零 cf, 然后 ff 幺八一七,我们再往程序里边写的时候,一定要加上零 x 的前缀,要加上零 x 的前缀,因为这里要按十六进制进行表示, 另外一个就是这个会出现一个八 f, 那这个八 f 是什么东西呢?就是这种遥控器,当我们在按住一个按键不放手的时候,他就会一直发送八 f 啊,是这样的一个状态啊,当我们按住不放手的时候,他第一个会发送一个按键的编码,然后紧接下来就是发送这个一堆八 f, 不停的发八 f, 是这样的一个情况,这个的话大家知道就 一般情况下,我们也就是拿遥控器去做一些这种简单的状态控制啊,然后的话使用随时就可以了,或者说我们在这个红外的这个程序里边啊,只是去改变对应的一个变量,我们再从红外的这个外边 啊,再从下边去做对应的状态,比如状态一,状态二,状态三,状态四的一个处理啊,这个都可以啊,红外这一个还是很简单就能实现的,还是很简单就能实现的啊,大家也能够很方便的进行一些这种小控制电路的一个改造。 好,那么这里是老苏单片机入门,如果你也喜欢玩这些单片机的小改造啊,喜欢学习单片机的知识,欢迎关注,这次就到这里,多谢各位,再见!

这两块啊丢了板正在进行创口通讯,现在他们可以协同工作。这块板的超声波传感器可以控制这盏灯。 gnd 连接 nd, rx 连这边的 txtx 连这边的 rx。 大家可能会有疑问,这边明明是 a 零和 a 一,怎么变成了 r x、 t x 呢?啊? duno 的创口不仅仅只有零一,零一是硬件创口,我们还有软件创口,想要使用软件创口,就必须给他初始化 这个模块。在创口里面点开这里,我们可以看到一个硬创口和四个软创口。我选择第一个软创口,然后把它的 rx 设置为 a 零, px 设置为 a 一。这是一个发送程序,它的作用是把超声波的距离发射出去, 发送信息很简单,用创口打印就行,不过格式要注意一下,我们用的是软创口发送,所以这个地方要和这里一致,选择打印 不换函,换函的话会出现一个看不见的字符。超声波传感器的值是一个带小数点的值,我们要处理一下,选择四舍五入,它来自于数学, 把他们俩结合一下,然后再一起放进这里。刚刚那个模块在文本里面,他的作用是把两个字不串连接起来,整数扔进去之后就变成字不串了。再加个 a 是为了定位,让我们的读取程序更快的找到我们的数据,然后结合好我们的发射端就做好了。 再来看看我们的接收端,同样先初始化我们的软创口,要注意的是这边的 r x 对那边的 t x, t x 对 r x 这两个模块都来自于创口,他们的作用都是为了提高读取效率,他配合如果就能做到有数据的时候我们才读取,这里是读到 a 就会停止读取,配合之前程序的 a 就能大大提高读取效率。 最后有两个地方要注意一下,第一是这里这里这里都要填软创口,第二是字不创类型要转为整数。这个模块在文本里面如果有点看不懂,你可以先看一下我之前做的入坑指南系列。感谢,看到最后你也动手做一遍吧。

阿堆呢?通过 usb 口上传程序失败怎么办?今天我们就来一起看一下这个问题,那么阿堆呢,上传失败有很多种原因,有可能是你的引导程序错了,也有可能是板子的硬件问题,我们今天不来讨论这个,我们来看一下怎么解决,那么解决的办法呢,也有很多种, 我们今天来讲第一种解决办法,通过串口来上传程序。那么通过串口上传程序,我们需要准备哪些材料呢?我们需要有一根 usb 转串口的连接线,还有几根弓对弓的毒帮线。好了,我们来看一下怎么操作。 首先拔掉 usb 连线之后,我们来看一下这根串口线,串口线呢,他有四根线,分别是连接电源的红黑两根线,还有连接串口的白绿,因为我们这个线呢,他都是母口的,我们还需要四根攻略 最功的毒帮线。好了,我们现在来连接一下电源,我们把红线连接到屋弄的微印口上,也就是电源输入。黑线接到接地口,然后绿线和白线分别代表的是 tx 和 rx, 所以我们把绿线连到 乌诺的 r x 口上,白线连到乌诺的 tx 口上。好了,板子上的连线就这样了。之后我们把 usb 端连到电脑上,可以看到我们的板子已经上电了,现在我们来上传程序,因为我们刚才更换了接线,所以我们的端口可能会发生变化。先修改一下端口, 下面我们来点击上传按钮,注意随时观察下面的上传状态,当状态栏出现上传这样的时候,我们来按下重启按钮, 可以看到按完重启按钮之后,我们的程序就上传成功了。好了,今天给大家介绍了如何通过串口来上传程序,后面我还会给大家带来更多的解决 usb 口上传程序失败的办法,欢迎大家关注我,喜欢就点赞分享吧!

大家好,今天我又来分享视频了,今天给大家分享的视频是串口遇到的问题,感兴趣的可以先加个收藏,以免下次找不到哦! ok, 进入正题。当我们重装系统后,设备管理器的串口不对,就像这样, 或是硬件接口是串口三,短接后在软件上显示的是串口四,就像这样。 当然还有 提示串口冲突或是打开串口失败等,这种情况的出现就是可能串口被占用了。那解决的办法也是很简单的,直接看教学视频吧。 我的电脑鼠标右键选择属性,打开设备管理器端口 carm 口和 lpt 那一栏,点击打开, 选择通讯创口,依次删除或是卸载 一到六 come 口多卸载完成, 然后重启电脑就可以了。你学会了吗?学到了吗?欢迎评论区留言, 点个关注呗!

各位朋友大家好,今天呢,我们主要分享的是创口服务器如何进行虚拟创口以及虚拟创口后如何进行简单的通信测试。 那么首先呢,我们先进入创口服务器的配置页面。好,我们首先呢通过浏览器输入创口服务器的 ip 来进入创口服务器的配置页面,将创口服务器的工作模式改为虚拟创口模式。 我们今天呢是以六零零系列的创口福气来做这样一个例子,那么我六零零系列呢,他的创口福气的虚拟创口模式就微看,那么我们再点击保存重写在这里呢,有一点要注意的就是说我们 做了任何的配置都需要保存并重启,我们所做的配置才会生效。好, 我们接下来呢,打开虚拟创口软件,在虚拟创口软件这里呢,他有着我们中英文的一个可选的。好,我们今天使用的是中文。好,我们在这里呢点击添加设备之后,然后进行一个搜索,我们就搜索到了这创口福气。 好,我们呢已经添加了这样一个设备,勾选好,我们点击确定,那么现在呢,他是一个未登录的一个状态,我们来进行一个登录,输入放火服务器的密码,好,登录成功, 现在我们做通信关口的映射,将虚拟窗口呢映射出来。好,可以了,这里呢,我们发现现在虚拟窗口的呢是一个, 那么接下来呢,我们已经虚拟好创口之后,我们应该怎样做一个简单的一个通信测试呢?证明说他这个亮度已经通了。 好,刚才呢,我们已经是虚拟出来窗口了,现在是也就我们的看母好,我们现在呢打开看母,然后呢我们现在要做一步呢是短接二三二的二三角,也就是我们滴滴九针的二三针角,收发针角, 好,我们现在呢是短接二三二的一比九,真的这样一个端口来进行一个通讯的收发测试,也就短接我们的二三角发送角与接收角,让数据呢做一个循环。那么为什么短接呢?其实我们现在做的是 一个自发自收的一个人,这是也就是我们数据的一个循环,那么我们在这里呢随意的点击发送, 那么我们看我们的接收区呢,是否有一个同样的数据的一个返回,也就代表着我们数据发送下去,然后呢也同样的有数据返回上来,而且说数据呢不会有存在任何的一个乱码,可以多尝试发送几次。 好,各位朋友,今天关于创口服务器如何进行虚拟创口,并且做一个简单的通信测试呢,就分享到这里,谢谢大家。

创口监视器右侧,第一个清除输出,点击后看到屏幕上内容消失。 第二个显示时间戳,点击后看到发送的内容前加上的时间,方便我们记录。第三个切换自动滚动,点击后看到发送内容不再自动滚动,需要我们通过数手工滑动才可以看到最新消息。 下方拨特率,这里必须与程序中的数据一致,否则无法通信。消息指计算机向单片机发送的消息,这里需要单片机有对应的接收程序。稍后课程介绍右侧换行 是指计算机向单倍机发送的消息后自动的加上的结束符号,一般选择没有结束符。

好,那今天跟大家分享一下阿迪鲁中的这个 siri 内裤啊,那 siri 内裤功能啊,它主要是用于对创口数据流的一个读写。我们看一下这个 siri begun, 他是用来干什么?他是用来创口波特率的一个定义函数啊,它里面有个参数叫 speed, speed 就是我们的波特率,波特率呢,就是有效数据讯号调制载波的速率,一般我们选为九六零零啊,再看一下我们下面这个啊, siri 普日特兰和我们这个 print, 他这两个不一样啊,第一个 print 来按时换行的,第二个这个 print 是不换行的啊,里面也有两个参数,第一个参数是 vo, 嗯,第二个参数是 format, 然后是输出到创口监视器内容,也就是说你把什么东西想,嗯,输出在这个传统监控器,传统监控器上 啊,这个 vivo 就是我们的这个内容。那紧接着看一下这个方马特,方马特就是我们指定输出的一个格式了,当我们这个 vivo 为整数的时候,那方马特他的参数呢?就为这个 b i n o c t d e c h e x, 它分别代表我们的二进制、八进制、十进制啊, 考十六进制。当我们这个 vr 为辅点数时,那我们方码头就代表我们辅点数的一个小数位数。嗯,例子可以看一下这个,下一个葡萄 print line, 它里面有个三点一五五点二, 那我们看一下这个三点一五五,就是我们这个 vr, 是吧? vr 他现在是一个福点数,那么方瓦特就代表他福福点数的这个小微位数,那我们写个二,也就是说保留两位小数,那输出结果四舍五入以后就是三点二零啊,那么可以接下来通过实际来了解一下啊。 好,那可以看一下今天我带来是什么,今天我带来是一块耳钉的主板,一根这个多光线,还有一个这个我们说的天微信啊, 那今天实验什么功能?也很简单,只要把这个电位器的这个数值变化输出在我们商务健身器上就可以了。好吧,这里,嗯,银角我们连的是一个 a 零啊, 那么首先来,我们先定一个边量, 请紧接着我们定义我们的演讲拼搏斗,是吧,这是我们的 a 零, a 零就是我们的 input。 那么紧接着我们就要使用这个内裤了,手速猛要大些, 这里面的波特波特力我们设为九六零零啊,那紧接着我们就可以给我们这个变量扶持了啊, 这样等于多少呢?等于我们这个按 lug i love read 这里面直的一个变化,紧接着我们可以让他说出了啊,说出我们还是用这个 siri, 我们先用 print 输出一个这个自助串 尖位置,然后紧接着我们使用这个跨行的 siri 葡萄干 输出我们这个电位置就可以了,电位置就是我们这个 变亮, 检查没问题,我们就可以烧路了。 那好了,我们打开这个传统监视器,这时候我们就能看到我们这里啊,这里太快了,我们使用个得力吧, 那一秒钟真的有变化。哦, 好,我们现在看就好了, 比如看这个,我转到这个底了,他就是零了,你看现在宿舍电位置一直是零啊, 看,我现在旋转一下,他电位置就进行变化了,可以看一下。

本期视频将介绍使用串口 dma 自动批量传输数据。假设需要使用串口直接传输大量数据,比如发送或接收一万个字符,会出现什么情况呢?当串口播出率设置为九六零零一帧,数据是十位时,一秒钟可以传输九百六十个字符, 要完成一半个字符的传输大概需要十秒钟。即使把波特率设置为幺幺五二零零,也需要大概一秒钟。在传输的过程中会不停的产生中断,占用 cpu 的资源,严重影响主程序的运行,这个时候如果使用 dma 传输,就可以几乎不占用 cpu 的资源。 下面这个实验可以很直观的对比 dma 传输和串口直接传输大批量数据的区别。主函数循环中,串口一发送一万个字符给 pc 端,显示 pr 口 led 闪烁,闪烁间隔 一百毫秒。当不使用 dma 直接用创口发送数据时, led 闪烁三次后会停顿一秒左右,再次闪烁,停顿的一秒就是波特率幺幺五二零零时创口发送一万个字符消耗的时间。 当使用创口机 dma 发送时, led 就会持续闪烁,说明 dma 传输数据没有影响主程序的运行,接收的数据数量也是正确的。每次一万个字符, dma 是直接内存访问的缩写, dma 可以理解为是专门用来传输数据的一个模块。 dma 是一个独立于 cpu 的模块, 除了初始化设置的时候会占用 cpu, 后续传输过程就几乎不需要 cpu 参与。当配置好 dma 后,数据的传输由 dma 控制器自动完成,这样就减轻了 cpu 控制传输的负担,提高了 cpu 的效率。 st c 三二系列单片机的 dma 控制器支持以下几种 dma 操作,存储器到存储器的数据读写,自动扫描 adc 通道,并将转换数据自动存储到 x m 中。 自动将 xram 中的数据和 spi 外设进行数据交换,自动将 xram 中的数据从串口发送出去,自动将串口接收到的数据存储到 xrm 中。还有包括 lcm、 iphone c iphone s 的 dma 功能。 每次 dma 数据传输的最大数据量是六五五三六字节,还可以将每种 dma 操作设置为四级优先级,硬件自动进行访问仲裁。 下面看看创口 dma 的设置,这是 stc 三二七幺二 k 幺二八的内部框图。 dma 控制器连接存储器 x data, 那么在使用的时候需要使用 x data 关键字将数据存入 x data 区域。 dma 通过不同的通道连接了各种外设,在使用的时候就需要使能对应的外设的 dma 功能,像 uret dma 计算器 e n u r e t 等于一使能串口 e d m a。 发送功能 u r e r d m a 计算器 e n u r e r 等于一使能串口 e d m a。 接收功能。使用串口 e d m a。 传输,还需要设置传输的总制结束,串口一的传输总制结。计算器由高八位和低八位两个计算器组成,十六位 最大传输量六五五三六字节。这里要注意的是,实际读写字节数比计算器的值多一个。比如,当 a m t 设置为零,表示读写一个字节。当 a m t 设置为九十九,表示读写一百个字节。因为 d m a 是自动完成发送和接收,那么就需要让 d m a 知道要发送哪些数据,也就是 需要设置自动发收和接收数据的地址。发送地址计算器也是有两个计算器组合成十六位,用来存放发送数据的原地址。接收地址计算器用来存放接收数据的目标地址。然后还需要对创口 dma 的中段进行设置,使能创口 dma 发送中段。接收中段, 当有多个中断时,还可以对中断优先级进行设置。当有多个外设 dma 传输时,还可以设置数据总线访问优先级,然后 dma 硬件会根据设置自动进行访问仲裁。对于串口发送 dma, 有发送完成中断标志,还有数据覆盖标志位。 数据覆盖标志是指串口 e dma 数据正在发送的过程中,再次触发串口发送数据时,数据覆盖标志就会质疑。对于串口接收 dma, 有接收完成中断标志,还有接收数据 丢弃标志位。接收过程中,如果 x m 总线繁忙,没有及时清除 d m a 内置的 f i f o, 导致接收的数据自动丢弃时,数据丢弃标志就会质疑。除此之外,还有两个传输完成制结计算器,可以通过查询的方式获取当前已经发送完成或接收完成的制结数。 下面结合代码看看串口一 dma 的具体设置。串口一,设置为模式一八位数据模式,使用电子加二作为播特率发声器, 波特率幺幺五二零零。串口一 d m a 的初始化设置分为两部分,上面这部分是发送设置, 下面是接收设置,使能创口仪 dma 发送中断清零, dma 发送完成中断标志清零,数据覆盖中断标志设置发送数据的总字结束,这里对发送字结束进行了红定义, 高八位和低八位分别存入计存器。设置发送数据的原地址,这里设置了一个缓存数组 d m a buffer, 此能串口一 d m a 发送并开始自动发送。此能串口一 d m a 接收中断,清零接收完成,中断标志清零,数据丢弃,中断标志 设置,接收数据的总之结束。设置接收数据的目标地址,使能串口一接收并开始自动接收。串口一 dma 中断函数,因为中断号大于三十一,这里借用十三号保留中段中转项目中添加一个绘编文件,从串口 dma 中断地址 跳转到十三号中断地址。在执行串口 dma 中断函数,这里为了方便,添加了多个中断地址。关于中断号大于三十一的问题,详细内容可以参照 stc 三二系列食品第三、 第六期用 x data 关键字定义了一个 dma 数据缓存区。 dma 发送完成和接收完成标志用于判断 dma 传输的状态。上天初始化后,将一万个数据存入 dma buff 中,这里是让一百二十八个阿斯卡玛循环纯露。 当发送和接收完成标志均为一时,说明 d m a 处于空闲状态,开始自动发送,自动接收。 p r 口 led 闪烁代码可以在 s t c 官方论坛下载,搜索布丁局长找到对应的代码即可下载。


大家好,很多做切入开发的伙伴们都知道啊,丢了这个开发环境,它非常简单易用,而且有大量的开源函数库,支持很多种 cpu, 嗯,就说我们可以用很短的时间就能上手, 但是他有一个很大的缺点,就是他没有专门的圆码调试工具,很多人只能用点灯加上串口打印这种方式来进行调试, 但总的来说他无法设置断点调试,这就呃对于复杂的代码是调试起来很困难, 这基本上成为了一个阿丢了开发里面的一个痛点,甚至有的人是因为这个问题而放弃了用阿丢了开发产品的一个打算。那么今天我给大家介绍一个用阿丢了这个环境 实现断点调试的简单方法,他只需要你使用这个开发环境就可以使用那个方法, 而且和单片机无关,不管你是使用 avr 的单片机还是呃 esp 八二六六或者 yesp 三二这种单片机,都可以使用这种方法来进行调试, 而且是不需要花一分钱。那么现在我就来演示一下这个方法。我先使用了一个 usp 三二的一个处理器开发板来实现这个演示, 那么这个开发板他是有一个呃 led 的灯,现在正正在进行闪烁,里面的代码就是现在这个代码就是呃 这个先打开 led 点亮,然后等五百毫秒,然后再关闭 led, 再等五百毫秒,就这个效果。 那么我们怎么实现锻炼调试呢?现在我就简单的加一句代码,就只需要加两行代码,一个变量以及一句红,那么我现在就可以在里面增加这个 断点,比如说我在这里增加两个断点,一个是点亮 led, 一个是关闭 led, 我分别加上只需要用 bp 这个含这个红把这个代码呃包起来就行了。现在我们先 看一下目前的一个状态,就是只有这个我们代码里面的输出函数输出, 那么我现在我把这个新加上的代码进行编译下载, 我们等这个下载完成 好了,现在下载了新的代码,我们可以看到现在就开始提示了这个提示,是啊已经进入了一个断点,这个断点 是位于这个函数里面的,就是路谱函数,因为这是这,这是第一个断点,那么程序文件名是这个 i n o 文件,它显示断点是在第十六行,那么我们看第十六行是什么?就是这个 dgtood right, 就点亮这个灯的代码, 就是这个他作为注视给你显示出来了,并且提示已经进入断点了,那么我们按回车就可以继续运行。 现在这个 led 是灭的熄灭的,因为我们还没有执行这个点亮这个函数这句话,那么我们现在回车, 回车我们可以看到这个灯就点亮了,同时这个 led 五等于一,这这条语句,这条提示也打出来了,那么他现在又提示进入了断点, 点进入了新的断点,就是第十九行,第十九行是这个函数,这个调用这这个关闭 led 的这个函数,那么我们再回车,那么就关闭了,我们可以看到 他这个呃已经熄灭了,那么我们可以反复的回车,在两个断点之间进行调试, 那如果我现在调试完成了,我觉得这个工人满意了,我就可以输入三个九,就让他连续运行。 我们可以看到这个呃, led 已经开始呃闪烁了。好,我们的演示到此 结束,接下来我们会讲解具体的实现原理,觉得有用的请关注点赞,谢谢大家!
