logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Bresenham’s algorithm( 布兰森汉姆算法)画直线

简介1967年,IBM的J.Bresenham提出了Bresenham算法。Bresenham算法是在一些约定条件下的最佳逼近。Bresenham算法通过前一个像素点提供的信息来判定后一个像素点的位置。DDA算法虽也可绘制直线,但该算法中存在类型转换以及除法运算,当需要画大量的直线时,速度慢。而Bresenham算法则只涉及加法和乘法,且乘法是乘2操作,相当于移位,减少了画直线所需的时间。符号说明

linux音量调节

转自:https://www.jianshu.com/p/fc8c8cad67d6一、alsa设置默认声卡alsa设置默认声卡理解和使用Alsa的配置文件alsa的配置文件是alsa.conf位于/usr/share/alsa目录下,通常还有/usr/share/alsa/card和/usr/share/alsa/pcm两个子目录用来设置card相关的参数,别名以及一些PCM默认设置。1.安装al

#linux
FreeRTOS与uCOS II的比较(嵌入式实时系统)

FreeRTOS的做法实现了投递消息与取出消息的解耦,但这带来了一个问题,就是当某个任务投递完一个消息,并使A任务就绪了,而在A任务执行前,又有一个高优先级的B任务从这个消息队列中取出了该消息,那么A任务在以后试图从消息队列中取出消息时,会出现失败,这是FreeRTOS中所有内核对象的pend操作都可能会出现的情况,内核的做法是会重新计算超时时间,只要没超时,就重新阻塞(按新的阻塞时间),这种设计

文章图片
#单片机
FreeRTOS与uCOS II的比较(嵌入式实时系统)

FreeRTOS的做法实现了投递消息与取出消息的解耦,但这带来了一个问题,就是当某个任务投递完一个消息,并使A任务就绪了,而在A任务执行前,又有一个高优先级的B任务从这个消息队列中取出了该消息,那么A任务在以后试图从消息队列中取出消息时,会出现失败,这是FreeRTOS中所有内核对象的pend操作都可能会出现的情况,内核的做法是会重新计算超时时间,只要没超时,就重新阻塞(按新的阻塞时间),这种设计

文章图片
#单片机
AM335x使用tslib实现QT5校准

本文使用的文件系统是Ti的ti-processor-sdk-linux-am335x-evm-06.03.00.106。官方说明,触摸校准使用weston-calibrator或使用tslib库。参照(有些链接仅自己查资料的记录):https://e2e.ti.com/support/processors/f/791/p/903802/3342761?tisearch=e2e-sitesearch

QT在windows系统中获取网卡信息和修改IP网关

QT中没有直接提供获取网关的接口,特此记录。并转载几个读取网卡信息并修改的例子。利用qt自带的QNetwork以及c++Iphlpapi库,获取当前windows电脑下的网卡型号、物理地址、、子网掩码、网关等信息。在QT的.pro文件中增加一个完整的例子:main.cc这里的IP编辑栏可以用lineedit来代替其他相关LINUX,WINDOWS系统相关的资料。

#qt#windows#tcp/ip
工程师笔记|使用CubeMx生成未在MC SDK V5.4.4 中包含的芯片的电机控制代码

由于 MC Workbench 软件芯片选择有限,不可能包含所有 ST 的产品料号,因此客户需要使用该软件时,会发现备选的芯片料号并未包含在 workbench 中。如果有 Demo 板和电机,则选择对应的 Demo 板与电机型号,如果没有直接选择 customer board,这边我们看到没有Nucleo-STM32G474RET6,因此我们选择 customer board。因为我们使用了现成

#单片机
基于STM32和EV1527的无线接收解码程序

摘自:https://blog.csdn.net/Vinccent_/article/details/78955376https://blog.csdn.net/hzd12368/article/details/80487849  另一参考一、1527的数据帧结构无线遥控的编码,从编码类型上来说,分为2类,一类是固定码,也就是编码芯片的地址是不变的,芯片型号以 EV1527、PT22...

Stm32g031芯片无法进入bootloader的及首次烧写完程序reset无法运行原因分析

因为芯片首次运行进行了空位检查,此时的empty 标志位(即OBL_LAUNCH)已经置位了1,当使用swd烧写完程序后,无论是软件reset还是芯片的reset管脚复位,都无法把empty标志为清0,芯片会在每次的reset后都进入bootloader状态,而不会进入main flash区。上面3个问题已经研究清楚了,那么如何更改芯片默认的启动方式呢,根据上面的分析,我们应该更改0x1fff 7

文章图片
#stm32#单片机#嵌入式硬件
Stm32g031芯片无法进入bootloader的及首次烧写完程序reset无法运行原因分析

因为芯片首次运行进行了空位检查,此时的empty 标志位(即OBL_LAUNCH)已经置位了1,当使用swd烧写完程序后,无论是软件reset还是芯片的reset管脚复位,都无法把empty标志为清0,芯片会在每次的reset后都进入bootloader状态,而不会进入main flash区。上面3个问题已经研究清楚了,那么如何更改芯片默认的启动方式呢,根据上面的分析,我们应该更改0x1fff 7

文章图片
#stm32#单片机#嵌入式硬件
    共 17 条
  • 1
  • 2
  • 请选择