粉丝175获赞886



哈喽,大家好,我是 dk 四五,专注于单片机嵌入式物联网技术的分享。那今天呢,来给大家分享一个使用 freer toss 的过程中容易忽略掉的一个小问题,这个问题呢,是我曾经在使用 freer toss 的过程中真是遇到的呢, 当第一次出现的时候,我大概花了两到三天的时间才解决掉第二次呢,我大概花了十分钟,但是第三次的 肯定没有第三次了,我不可能在同一个地方栽倒三次吧。那今天呢,就来给大家来探讨一下我出现的是哪一个,哪些问题啊,以及我是如何解决掉的? 好,接下来我们来看我这个标题啊,使用 freestops 的过程中,中断无法得到及时处理好,那接下来呢,我就用图的形式来给大家来给大家描述一下这,这是一种什么样的 使用场景啊?就说我们在用单片机的编程的时候呢,用到中段对吧?中段都会有中段服务函数, 中段服务函数,那么中段服务函数呢?特别是在使用嵌入式实时操作系系统的时候呢?我们中断的服务函数都是尽可能的,尽可能的短啊, 尽可能的短就是尽快的让他处理完,处理完以后呢,就就可以退出这个中断,这样呢,你的 tus 就能得到一个响应。 好,那所以呢,我们不会在中断里面中断服务函数里面去做大量处理的代码。通常呢,我们都是设定一个标志,或者是发出一个事件啊,事件啊,或者是一个信号量,这样通知到一个任务啊, 通知到一个任务,任务呢,这个 toss 哥呢,他就会等待这里啊, wait wait 就是等待这个事件的发生,当这个事件到来了以后呢,他就会往下继续执行,执行你的一个处理的一个流程啊,处理完以后呢,他会重新返回来继续来等待。 这是我们在使用 freer toss 的或者是其他嵌入式操作系统的时候,和中断配合起来一个常用的模型。当然在逻辑编程下呢,我们可能也是借用类似的一个框架啊。好,那我们的问题点究竟是在哪里呢? 通常我们中断触发了以后,是需要一个得到一个及时的响应,对吧?所以当我比如说我按 按下按键的时候,按下按键的时候,这个中段就会立马得到执行,中段得到执行以后呢,他发出去这个这个,呃,比如说事件的标志吧,这时候呢,我们的 top 四个应该是也是立马得到执行的, 但是我曾经有一次发现,就是在我按下按键或者是其他中断的啊,然后触发以后呢,我的 task 等待了大概两秒钟以后才得到了一个执行, 所以当时就很纳闷,一直找不到根本的原因。后来呢,我仔细去翻译了弗瑞亚特斯的手册,才发现根本的原因是什么。 好,那今天呢,我顺便来打开弗瑞亚 toss 了,来给大家看一下啊,弗瑞亚 toss 的一个参考手册,来给大家先看一下啊。在这里 可以看到福瑞亚套子下面的他有很多接口的函数,对吧?但是从他的接口函数的名称呢,我们可以看出来一些,就比如说我针对呃信号量的信号量的,我可以看到里面有很多这种 from from isr 的,也就是 give from isr, 还有 take from isr, 还有除了信号量呢,还有一些就比如我们的 timer, timer 下面呢,也是有很多 framesa 的,那这个 framaisa 呢,从名称也可以看得出来,它是从中段里面调用的函数, 所以我们在中段服务函数里面要调用负压 toss 的接口函数呢,只能调用结尾是 fromesisr 的这个函数,所以呢这个地方大家是一定要注意的, 那吊用这个函数也没错,我也是按这样吊用的,但是呢,我的 touch 还是得不到执行,那这个原因到底是什么?那现在我来看一下我这个实际的代码,来给大家做一下分析啊,这是我现在写的捞辣的一个驱动的代码, 这个呢 lower gpiolq 含的了,这个是一个中段服务函数啊,中段服务函数呢,我们这里面去做了什么事情呢?可以看到这个几个 abos 都是大同小异的啊,我们只用来重点看一个就可以了。这第一个呢, 他是去检查去看一下这个 io 口呢,他有没有被,他有没有触发,如果他触发呢,就把他这个标志中段的这个标志清除掉啊,然后呢他就向任务发出来一个通知, 可以看到我这里调用的函数呢,也是从也是用福尔弗朗姆 isr 的,然后呢他就通知到一个 toss 的 dio 的这个任务里面去啊,然后接下来我们来看一下这个任务里面去做了什么 任务呢?就是这个 loladio task 这里面呢,这个任务首先会等,一直等在这里啊,他会一永远 post max d 类,就是永远在等在这里,直到有事件触发,他就是这里的事件已经发出来了,然后呢,这个任务呢,就可以继续往下运行, 然后他去判断这个直看是哪一个呃,哪一个银角来触发的这个中断啊,然后他就执行对应的一个呃中断的一个处理啊, io 零, irq 还得了,这个就是具体 io 零, dio 零他的处理的一个代码,他 这里面的代码可能会比较长一些,所以我们都是在 touch 的里面处理的啊。那问题就在于,当我这个 dio 处的 dio 触发的时候,他这个中断出发的时候,我这个 touch 并没有适时的得到运行, 那根本原因在哪里啊?实际上呢,他就在这个防磨 is 啊,这个函数,他这个结尾的有一个参数啊, 结尾有一个关键的性的参数,那这个参数是什么意思呢?我们看一下这个参数,他是一个拜特太补类型,拜特太补类型的贝斯太补类型啊,他贝特太补类型呢,他只有处和 foss, 就是相当于布尔类型的,是弗瑞亚 toss 下面定义的类型 支架,就像我们常见的布尔啊,就只有处和 force 的值,那当我们前面呢,是先把这个值设为 force 作为 force 以后呢,他是作为一个参数传进去的,同时呢,他有可以传出来一个参数,可以看到他是用指针的形式传进去啊,指针的形式传进去就证明呃,他是可以在这个福尔摩埃萨里面是可以修改到这个变量的一个值啊。 所以传出来以后呢,当这个 task notify 双木 sr 这个函数执行完以后呢,这个值就有可能变化,那他的变化代表什么意思呢? 当他是 boss 的时候呢,代表没有更高更高优先级的任务去已经就绪了,如果他为处的时候呢,就证明有帕斯科 已经处于就绪的状态了。我们这时候可以进行一个手动的调度啊。手动的调度呢,实际上就很简单,可以看到我下面最后只想 这样一条语句,那么以前我出现问题的时候呢,就是忽略了这样一条语句, 当然我这个参数也传进去了,但是我一直以为这个参数没什么卵用啊,后来我就没管他,但是出现问题我才发现这个参数还是我们需要去做一定的处理的。假如这个参数为处的时候呢,他就会去执行一个调度啊, 但是,但是呢,我们这里没看到,没有做判断啊,实际上他已经在 potear 的这个 fromois 这个函数里面去自己去做的一个判断啊,我们去跳过去看一下啊,哎,跳不过去,那我们来全局搜索一下,搜索一下,看一下这个函数的定义。 好,这还是 在这里定义的,那他的定义呢?可以看到又是指向了这个这个函数啊,这个红定义,这红定义他是什么意思呢?如果这个值为 不等于破为 b 不等于 force 的时候,也就是为真的时候呢,他就会执行一个 potel 的这个值,这个函数呢,就是去执行一次 freertos 的任务调度啊,所以呢,就可以理解了, 就是当我这里没有吊用这个函数的时候呢,可能我这个任务已经就绪了,但是呢,我没有手动去 调度他这个任务呢,他就会,他就没法得到立马的一个执行啊,因为福瑞亚透视他就相对来说比较灵活一点,他把这一这个操作呢留给用户了,他 并不会自己去自己去执行一个从中断退出以后,他并不会自己去执行这个调度啊,他会让用户来进行一个判断,你看你需不需要调度,如果你需要调度呢,你就去你需要这个任务立马得到执行呢,你就去调用这样一条函数接口啊, 然后当调用了这个以后呢,呃,这个 touch, 这个就绪的这个 touch 他就可以立马得到执行,所以呢,他中间就不会再有什么延时了, 那最根本的问题也就在这里,希望大家以后用 freertos 的时候呢,可以注意到这个问题点啊。好,那今天我们的分享呢就到这里,好,谢谢大家。

hello, 大家好,今天给大家带来一期 i do know with code, please phone io 鼻线安装教程,百分之九十九能够成功,为什么不是百分之百呢?因为还有百分之一,因为一些啊, 不知名的原因可能也会不敢保证。先说一下这个离线安装的一个优点,他的最大的一个优点,那就是完全离线安装的过程是不需要联网的, 他所能够解决的问题就是说啊,一般人他就在使用这个 poloe, 他新建项目或者是编译上传的时候,他需要非常非常的久啊,是因为 一些网络原因啊,所以导致无法弄好。 第二个,看一下目前支持的一个电脑系统和 packys 的版本,电脑系统目前只支持温十和温十一,并且只支持六十四位的系统。 picture 版本的话是针对 please fiveawp 平台啊,目前对应的最新版本 avr 就是我们平常用的。 i do not know i do the u n o i do know。 买个 r 五六零 sp 三十二,这个平台就是 sp 三二, ssp 三二 c 三, sp 三, s 二, sp 三, s 三, sp 八六六,这个平台主要是 sp, 嗯,零一 s 零一,还有零七幺二, fnowdamcu 之类的电瓶,三二就是四 st 官方的一些单片机 ip 二零四零就是这个数名牌皮口。 三、安装方式,第一步,需要在淘宝啊购买自己需要的一个安装包,打开这个链接就可以看到这边有安装包,然后购买以后商家就会发这个链接。 第二步,需要安装这个 westcoat, 如果已经安装 westcoat, 可以跳过这一步,如果没有安装 westcoat, 可以参考一下步骤进行一个安装。一,需要下载 westcoat 安装八,可以在 westcoat 的官网或者 这是我提供的一个百度望盘链接中进行一个下载,然后我在训练期中进行一个演示,打开 visco 的安装包, 同意下一步,然后我们这里默认就装在 c 盘,但是我是建议装在其他盘,比如说 d 盘下面下一步 下一步。然后这里可以默认啊,他是只勾选下面两颗,我建议的话是全部勾选上,然后点击下一步,然后点击安装,然后稍等一会,他就会安装好。 安装好以后, 点击完成,他就会自动运行这个软件, 他这里会提示啊,安装并重启哦。主要是安装这样一个中文插件吧, 我这里就新建一个窗口,一般来说啊,初始的窗口都是这样子的啊,可以看到当前他都是已经是中文了。然后关闭 visco 的 第三步,需要运行一个 with codecomplain for l 安装包,下面我已安装 avr, 四点零点零为视力 打开这个安装包啊,稍等几秒钟他就会打开。打开以后需要将这个密药复制, 然后粘贴在这个密要框里面,点击粘贴,然后再点击安装,点击确定,然后稍等一会,他就会安装成功。 如果说是第一次安装的话啊,他会弹出这个 v 安装这个 p m v 环境 啊,可以看到这里有一个警告提示, 检测到未安装 pnv 环境,打开 visco 的后将会自动安装 pnv 环境,过程必须联网,可能需要五到十分钟,请耐心等待。然后点击确定,这里提示已经安装成功,然后点击确定,再退出这个软件, 然后再打开 viscode, 打开 visco 的后,他就会自动进行 peng phone ivopp, 因为环境的一个安装这个过程的话是需要啊五到十分钟,并且 这个过程是需要联网的,如果没有联网,那么他是无法进行一个安装的,而且我建议的话是最好不用使用这个代理, 建议把代理给关掉,因为有些代理他反而不会提高这个一个下载的速度,他会交慢一个下载的速度。 我这里就先暂停一下,现在是二十二点五十九, 现在是二十三点零三,可以看到四五分钟他就安装好了,然后点击 reload now, 就会重新打开这个软件, 然后稍等一会,他就会加载这个 blockford io 扩展,点击这个图标, 然后点击 oppo, 然后我们新建一个项目测试一下。刚刚我们安装的是 avr 平台,所以说只能啊,新建 avr 的一个班子, 就以英文欧版选择英文欧这个开发版,然后点击 finish, 可以看到他几秒钟就可以先建好这个项目,找到面点 cpp, 找到以后 点击左下角 有一个对号,就是编译, 第一次编译的时间可能啊稍微久一点, 然后再点击上传,因为我这里没有连接开发版,所以说他一直在那等待,然后我就跳过这一步了,当然我自己也是做过测试,是没有上传是没有问题的, 那么自己安装好后也可以做一个上传编译上传的测试 啊。我这里再演示安装一下这个 steam 三二的, 然后粘贴这个密要点击安装,然后再稍等一会, 现在是第二次安装这个了,前面我们已经把那个 pnav 环境他已经安装好了,所以等一下他应该就不会提示未安装 pnav 环境了, 然后我这里也就先暂停一下, 现在他已经提示安装成功,然后推出这个软件,再打开 west coat。 啊,这次就寻见一个 steam 三十二的项目, 新建项目,然后建一个 steam 三二 f 幺零三 c 八 t 六,然后选择这个开发版 啊,当前这个框架都是啊,只做了啊对诺的,其他框架都是没做的。点击 finish, 那他几秒钟就创建好了, 我这边的话已经写好一个程序了,然后我点击编译 这个,是啊,之前的一个项目, 我先把这一句话给注视掉, 然后我再点击编译。上传,我直接点击上传,当前我的开发版是已经插上去了的, 修改这个 ii 文件后,他的编译就会全部重新编译一次,可能速度就会慢一点。 他这里提示啊上传错误,那是不是环境没有装好呢?啊,并不是这样的啊,在百度上面搜索这个边上传错误的信息啊,这里就会有 一些问题,然后再采用方案二,然后再 ii 文件中添加这样以上代码,我现在把它给注视掉,再点击上传。 先编译一下, 可以看到我这个开发板已经连接上电脑了, 当前是两秒钟的一个量密,然后我修改一下这个数字,然后再点击上传。 嗯,这里已经提示上传成功, 可以看到这个啊,闪烁的速度已经变快了 啊,如果大家有需要的话可以看一下我这边文章啊,我的博客是布洛克点 yyzt 点赛特。

老铁私信我,让我分享一下这个 avr 的一个教程啊。 avr 呢,也就是我们俗称的调压板, 现在目前市面上很常见的那个调压板的话,就是这三种,四六零的,幺五 a 的,然后四四零的, 四六零的,适用于那个一百千瓦以下的小机器上,小发电机上,这个呢是用于一百千瓦以上的 发电机,单机的都可以用啊,只是那个容量的不一样而已。这个呢适用于三百到五百以上的,然后那个病机的话就要用这个了。然后还有 根据电机厂家的定义不同,一般正常的话他就四根线,两根立磁线,然后两根那个 采样线,电压电压采样线,也就是一零一火。有些电机厂呢,他是三根采样线,除了那两根立磁线的话,三根采样线他是两根火线,一根零线,然后有些呢又是两根火线,踩的是三百八的。 那么就给大家讲解一下这个定义啊, f 一 f 二呢,他就是立磁线线圈的线,然后七和八呢,他就是一零一火的那个电压采样线,然后这个也是一样的啊, f 正 f 副,然后立此线 l 火线,安零线,同样的也是 f 一 f 二七和八。 学会的老铁双击关注啊,你们都给我点点赞,我才有动力啊,要不然这么热的天气给你们分享,你们也多多支持我一下啊。

哈喽,大家好,今天给大家介绍一个天龙的老公放这个机子故障呢,是比较难以捉摸,因为是软故障,时好时坏的,而且是有同行已经修过了,我们看一下是哪里坏了吧。 这个是同行拿过来的 avr 幺八零三。这个机子呢,故障是时不时的开机保护,在我这里试也是,有时候一开机正常的,怎么检查都是正常, 所以也是无从下手,然后放着放着突然啪嚓就跳掉了,有时候一开机呢,他一会就跳。 这种呢属于软故障,修起来确实比较费时间的,而且有些元器件呢,它时好时坏,你确实很难判断,更不要说有这么多,因为天龙开机保护呢,是一个比较 常见的故障,但是呢原因几十种,涉及到的配件呢,可能有几百上千个,所以很多网友在留言问我,这个开机保护是哪里的,是什么原因,是哪个东西坏了? 其实有时候老师讲我检查几个小时甚至几天我都不知道哪里坏,所以问这个东西,不是我不愿意回答你,是真的没办法回答啊,请多多原谅。这台机子呢,就是同行,他自己也拆开来修了, 板子也清理过了,然后这两颗电容他怀疑坏掉了。呃,更换了,但是换的这两颗电容其实是假货来的啊, 这个不是翻新的,就是那种假冒伪劣的,反正不是正品, 其实原装的,原装的天龙这两颗 两个电容啊,虽然有一点点鼓包,但是一般都不会影响使用的,都是好的,这个没有必要去换, 但是他现在换的这两颗呢,也没什么问题,也能凑合用吧。这台机呢,真正的原因呢,就是他的保护电路出现问题了, 就是这这里其中一个三极管坏了,我猜出来,猜出来量他又是好的哦,但是他确实是坏了,像这种情况呢, 出现在老鸡比较多,而且新款的鸡也有一部分机子,那个管子质量问题也会出现这种情况,之前也有遇到过,好像也有跟大家分享过, 所以不懂的话其实不要轻易的下手,因为你会越搞越坏。 这些故障有时候我们也确实是比较难搞,不是说三言两语就能讲的清楚的。 今天的视频就分享到此,喜欢的话点个赞哦,拜拜!

这两天连续修了两台幺六零三,看到这功放好亲切啊,因为十来年前都修的滚瓜烂熟了, 好像是久别的老友啊,我看见这种功放我就喜欢,因为对他太熟悉了,简直是这里面的电路结构早就滚瓜烂熟了,虽然有隔了七八年没修过,但是还是清清楚楚啊, 这个公放呢,也是经典故障啊,等一下我告诉大家是哪个地方坏了, 听一下效果怎么样,其实这个声音还是可以的,放到现在虽然歌 二十年,但是他的效果还是听得很舒服啊。 开机保护就是这些机子最经典的问题了,然后最经典的原因呢,就是这个坏了七九幺五故障呢,就是在这个散热片底下重新换了一个了, 这个是类似机子,或者是像幺六零三啊,幺六零四啊, 四八四啊,幺幺四零四啊,这些基本上都一样的,都是这样的问题比较多,还有空放板导致的保护的,保护电路导致的保护的, 检测电路导致的保护的,基本上都修的滚瓜烂熟了。有喜欢的点个赞再走哦!

呃,就用那个天龙的 avr 杠叉三六零零机子分享一下二号房间功能怎么使用?二号二号房间功能不需要我再过多解释了啊,基本上都没有问题,主房间就是 这种转出来的,转成这种模式就出房间,二号房间就是这种主房间之下隐藏的一个房房间功能啊。接线,将这两条接线, 主线接线,这这个是主音箱的接线,只有主房间的接线,左右左 中置环绕,这是中置,这是环绕。然后我这边有一个没接啊,五十个一般都这么接啊,后面就是后环绕,后环绕两个后环绕 增高增高这些都需要在那个设置里面去设置。然后二房间接哪里?二房间接这里接,我一般接最后两个接最后两个就这个和这个,因为我影响不了那么多,所以我就一直 那实这接线,就这样实现什么呢?实现一个从这根线插到第一滴口的,这个用到客厅里面看电影。那我希望在二号房间就是书房的一个, 那个位置有两个音箱,我要听音乐,那我想通过 cd 口来播放,这个叫 cd 口啊,调节资源, cd 口播放音乐到二房间这个主房间看电影,那相互不影响,也相互同时使用,这就是 主要是讲这个功率啊啊。开始,首先第一个,第一个那个接线,我讲了第二个 操作方法,第第一步,点开设置,我用遥控器操作吧, 稍等一下,天龙遥控器,天龙遥控器,天龙遥控器 通过设置进来操作,第一步接音箱,第二步设置设置,设置进来之后找到扬声器 调于手中放大七分贝,这这个地方就自己选,因为 像这个下面这个就是这个,就是二房间的,二房间的音箱这个地方要是打开才是啊,向上面就显得有七点一升的,叫 ron 一二, 比如说你换另一个,你看二号房间下面有两个音箱,他是断开的, pr 一断开的,要调到一个适合你的,我现在就以这种静音声道设置二房间 往前, ok, 设置完了,设置完了,这第二步,这种第三步, 我这这有个二 rea 一二开关,把它打开,默认是 关闭啊,你现在把打开啊,这是第三步,打开这个功能。第四步为二房间分配信号源,因因为后面接口那么多信号通知你, 你让人家认哪一个下来的?我们目的是让他认 cd 口,对吧?那我就分配到 cd 口上去,默认是哪个?默认是 默认是刚刚那个,刚 souk 的那个,默认是这个,这个就是跟一号通道是一样的。你一号啊,是不是一号通道跟你的主房间功能是一样,你主房间在放什么,他那边就会 出什么。那我们要为什么出 cd? 这是通道选择 cd 上啊,刚刚分了一个 cd 口,那他二, 因为我现在是接了有音响的,我就直接放啊, 应该有一点声音了。我,啊,这是第第三步了啊啊,第四步了,第一步,接线,第二步,设置,第三步,打开功能,第四步,第四步,分配信号源。好,第五步,调音量。 呃,这个时候你如果通过这个地方调音量啊,你控制的是主音箱的,你看看,控制的是主音箱的 就是主房间的,主主房间的,你不是控制的。二二号房间怎么控制呢?二号房间,首先你的因为最好是用遥控器啊,你看这有个 z, 这个我跟你讲这是二,你选中二之后,他这个这个按钮会亮啊,选中之后你要通过这个音量键去调, 对吧?你这个是调的就是二号房间音量,不是主号主房间的啊,但如果说你要用遥控器调主房间的话啊,按卷这里,这有个 m a i, 你按一下,选中主房间, 然后再再取控制音量啊, ok, 就这样啊,这第五步调音量,第六步关机,在这个情况下,在你二方面打开方向键,你这个是按关机, 你如果说你想关掉客厅主房间的,那你就首先选中这个啊,啊,关机 好,主房间功能关闭,这个房间也是没有没有头像的刚这个,这个是直通啊, 因为你是待机状态,所以还自动关了,你把自动功能关了之后还是没有的用,这个时候你调音量也控制不了,怎么控制不了他就会亮一个二二二房间是打开的,这个你控制。是 啊,那如果说你想把二号房间关闭,那首先选中二号房间,按一下啊,关闭就关了啊,那下一 开机, 比方说你要开书房的,你就直接按二开间, 他这是启动的,是书房的,稍等一下,他直接就想到二号房间去了。你一号房间主主房间是没办法,你看一样都没办法,什么都没问题。那你要要想在客厅 看电影,厨房间打开,你首先要选中厨房间,按一下煮,然后再看镜,这个是厨房间就打开了。 要使用二号功能就一定要用遥控器啊,好, 主要就这些东西一共有几点总结一下,第一个音箱接线接,最后两个在天龙三六里面啊,就最后两个。第二步就是在设置里面把扬声器分配出来,把二号房间跟他分配两个扬声器 啊。讲到这里补充一下,二号房间就只能放音乐啊,他只能放立体声的,只能放声音,放那个音乐,立体声音, 然后第二个,第三个分配好了之后,你把这二号功能,二号房间的功能打开,通过这个点好,通过遥控器都可以 把打开的第三个、第四个打开了之后,你要为二号房间分配信号源你,不然人家都不知道是哪一个,所以就选这个,用这个去选,你要分配哪个你就选哪个 啊,第四个是吧?第五个就是音量的操作,音量的操作要用,主要用遥控器,这样用主房间,主房间和二号房间需要操作哪个房间,你就首先要选哪个房间,比如说你选 房间下,选了之后,以下的操作都是针对主房间的,那你选择二号房间以下的操作就是针对二号房间的,包括音量,然后先选二号房间,他上面那个 unr n 一二也会亮,证明 你这个时候按的音量是二号放量的。那如果你算是九号, 你看看主房间有分量啊,这是最后一个就是关机, 你要关主房间,你选择选主,想关二号房间就关二号房间,就这样的开机,想开水你就选择水啊,好了就调分享到这里结束。