- 博客(362)
- 资源 (18)
- 收藏
- 关注

原创 freeswitch二、freeswitch之注册,呼叫接听测试
在上一篇文章中讲解了freeswitch的安装方法,安装完后测试了和数据库的交互,下面就要测试一下freeswitch的功能了。
2022-09-23 14:42:08
2898
5

转载 ffmpeg中PTS和DTS
计算视频长度: time(秒) = st->duration * av_q2d(st->time_base) ffmpeg内部的时间与标准的时间转换方法: ffmpeg内部的时间戳 = AV_TIME_BASE * time(秒) AV_TIME_BASE_Q=1/AV_TIME_BASE av_rescale_q(int64_t a, AVRational bq, AVRational cq)函数 这个函数的作用是计算a*bq / cq来把时间戳从一个时间基调整到另外一个时间基。PTS和DTS的时间基。
2022-09-22 14:53:56
1713

原创 linux下网卡多IP静态IP
修改/etc/network/interfaces# interfaces(5) file used by ifup(8) and ifdown(8)auto loiface lo inet loopbackauto eth0iface eth0 inet staticaddress 192.168.0.36netmask 255.255.255.0auto eth0:1iface eth0:1 inet staticaddress 192.168.10.46netmask 255
2022-04-15 17:38:19
310

原创 freeswitch一、ubuntu16.04安装freeswitch以及ODBC使用mysql
安装freeswitch下载地址:http://files.freeswitch.org/freeswitch-releases/选择下载版本freeswitch-1.8.5.tar.gz ,下载完成后拷贝到/usr/local/src解压缩cd /usr/local/src 然后解压freeswitch-1.8.5.tar.gzsudo tar -xvf freeswitch-1.8.5.tar.gz先更新软件包sudo apt-get updatesudo apt-get instal
2022-04-06 19:31:07
2956
原创 QString占位符arg()的真相与高级用法
Qt开发中的"QString最多9个占位符"说法是错误的。实际上,QString提供两种占位符使用方式:单次调用arg()最多传入9个参数,但链式调用arg()可支持无限参数。链式调用优势明显,包括无参数限制、支持多种数据类型、代码可读性高。此外,占位符编号从字符串中使用的最小数字开始,而非固定%0或%1。QString的arg()方法具有强大的字符串格式化能力,开发者应充分利用其灵活特性,避免被9个占位符的说法误导。
2025-08-04 16:07:23
133
原创 C语言注意事项
作用:sizeof 用于计算数据类型或变量占用的内存大小(以字节为单位)。sizeof 返回整个字符数组占用的字节数,包括字符串末尾的 '\0'。对于指针,返回指针本身的大小(通常是4或8字节,取决于系统架构)。字符串、字符数组和整型数组在存储上的区别。返回整个字符数组占用的字节数 5。对于数组,返回整个数组占用的字节数。这是一个整型数组,包含5个元素。返回单个整型元素占用的字节数。这是一个字符数组,包含5个字符。结尾的字符数组,等价于字符串。返回整个数组占用的字节数。变量(如数组、结构体等)。
2025-07-30 17:23:22
284
原创 stm32和freeRtos的can总线
这里每个CAN节点都挂载在CAN总线上,对于其中一个CAN节点,都由CAN控制器和CAN收发器组成,CAN控制器一般集成在MCU,也就是单片机里面,然后STM32引出CAN_RX和CAN_TX引脚,与CAN收发器连接,之后CAN收发器引出CAN_High和CAN_LOW,与CAN总线相连。STM32 CAN外设额外的一些特色功能:时间触发通信、自动离线恢复、自动唤醒、禁止自动重传、接收FIFO溢出处理方式可配置、发送优先级可配置、双CAN模式。一、CAN网拓扑结构。
2025-07-29 10:03:57
283
转载 “电气间隙”与“爬电距离”是怎样计算的?
本文系统阐述了电气设备安全设计中的关键绝缘参数要求,主要包括爬电距离、电气间隙和绝缘穿透距离的规范标准。详细分析了不同电路类型(一次侧/二次侧)的间距要求,变压器隔离设计规范,以及绝缘材料的选择标准。文章特别强调了在PCB设计时如何通过开槽、包覆绝缘材料等方式满足安全距离,并提供了根据电压等级、污染等级确定具体数值的方法。同时,还归纳了绝缘等级分类和工作绝缘、基本绝缘等概念,为电气设备的绝缘设计提供了全面的技术指导。全文通过表格化数据呈现各类绝缘参数的具体要求,具有明确的工程实践指导意义。
2025-07-24 14:40:09
66
原创 QString的应用
本文介绍了Qt中QString类的常用操作方法,主要包括:1.字符串操作:使用+、append()、sprintf()、arg()进行字符串拼接,insert()/prepend()插入字符串,replace()替换字符串;2.字符串查询:startsWith()判断起始字符串,contains()检查包含关系;3.类型转换:toInt()等数值转换,toUtf8()编码转换,与char*相互转换;4.字符串处理:比较大小(compare())、大小写转换(toUpper()/toLower())、分割字符
2025-07-21 08:49:41
110
转载 ADC滤波算法
adc采集到数据不仅取决于adc本身,还跟输入的信号有关有关。输入的信号稳定与否、信号夹带的干扰、噪声等因素都会影响adc最终的转换结果。所以对于adc采集的数据往往要进行一些滤波处理,尽可能的消除信号中的一些误差。滤波算法在这个时候就派上很大的用场了,掌握一些常用的滤波算法是很有必要的。下面分享一些adc中处理数据中常用的滤波算法,附代码,方便以后备用。
2025-07-18 15:36:48
52
原创 CAN总线
CAN总线是一种由BOSCH公司开发的高可靠性串行通信总线,广泛应用于汽车电子和工业控制领域。它具有差分信号传输、抗干扰能力强、可挂载多设备等特点。CAN总线采用非破坏性仲裁机制,通过报文ID决定优先级,支持1-8字节的数据传输。其物理层采用双绞线差分传输,可实现最高1Mbps的通信速率。协议层包含数据帧、遥控帧、错误帧等多种帧格式,并具备位填充、CRC校验、应答等机制确保传输可靠性。CAN总线还通过硬同步和再同步技术解决异步通信中的时钟误差问题,使其成为工业控制领域理想的通信解决方案。
2025-07-16 16:29:54
177
2
转载 FreeRTOS任务通知
FreeRTOS从版本V8.2.0开始提供通知这个功能,每个任务都有一个32位的通知值。按照官方说法,使用消息通知比通过二进制信号量方式解除阻塞任务快45%,且更加省内存(无需创建队列)。(也就是说,一个任务被创建的时候,就会有一个任务通知)在大多数情况下,任务通知可以替代二值信号量,计数信号量,事件标志组,可以替代长度位1的队列(可以保存一个32位整数或指针数),并且任务通知速度更快,使用的RAM更少!任务通知值的更新方式。
2025-07-14 10:25:06
35
原创 C语言中位运算以及获取低8位和高8位、高低位合并
在C语言中,取位操作通常指的是从整数中提取特定位的操作。这可以通过位掩码(bit masks)和位操作符来实现。为了获取高8位,我们可以先右移8位,然后再次应用掩码。假设我们要处理一个字节(8位),并想提取、设置或清除其中的特定位。左移操作符(<<):用于将位向左移动,常用于设置或清除位。如果我们想修改这些位的值,可以使用按位或操作和掩码。位异或操作符(^):用于切换特定位。位与操作符(&):用于提取特定位。位或操作符(|):用于设置特定位。位非操作符(~):用于反转特定位。二、获取高8位和低8位。
2025-07-04 11:58:13
337
原创 双电源断开一路无缝切换
若使用NMOS当上管,D极接正电源,而S极的电压不固定,无法确定控制NMOS导通的G极电压,因为S极对地的电压有两种状态,MOS管截止时为低电平,导通时接近高电平VCC。PMOS管的主回路电流方向为S→D,导通条件为VGS有一定的压差,一般为-5-10V(S电位比G电位高),也就是G的电压高于S的电压时是关断的,当G的电压小时是导通的,下面以导通压差6V为例。当按键A闭合,此时G极为高电平,PMOS不导通,负载使用5V,当按键A断开,此时G为低电平,PMOS导通,负载使用经过S-》D的3.7V电源。
2025-06-18 08:58:37
330
原创 stm32使用定时器功能之高精度定时(微秒级)、输入捕获以及超声波测距
一、定时器功能之高精度定时(微秒级)我们常用的延时函数中无论是HAL_Delay还是vTaskDelay()函数都是毫秒级的定时,我们可以借助定时器实现一个微秒级更高精度的延时函数。这个定时器不会影响FreeRtos的任务切换这里就是用定时器的计数功能来实现定时。
2025-06-17 17:11:05
1077
原创 stm32使用定时器PWM
1、定时器TIMPSC-Prescaler-预分频器CNT-Counter-计数器ARR-Auto Reload Register-自动重装寄存器RCR-Repetition Counter Register-重复计数器1、时钟来源:晶振提供频率,时钟树这些才提供时钟分频系数计数3、实例。
2025-06-16 17:28:14
506
原创 嘉立创EDA转AD后遇到的一些问题以及整改的一下技巧
想要按照Board Outline Layer层切割,就要选中Board Outline Layer层,然后Ctrl + A全选所有元器件,然后设计-》板子形状-》按照选择对象定义。我这个板子在EDA画的时候用的板框层切割,在AD就是Board Outline Layer。比如选中Bottom Overlayer,然后Shift + S 就可以只看底层丝印层了。改正:目前想到的只能是删除掉,在重新再AD中添加一遍。下面是导入AD后暴露的问题,不能正确切割板子形状。可以看到文字都是正的。
2025-06-16 09:22:05
473
原创 电容触摸按键PCB设计
设置阻焊扩展和助焊扩展的值为负值,这个值就是圆形直径的一半,如果是方形的话,就是长的一半。电容触摸按键其实就是一个没有锡膏层和阻焊层的焊盘,或者就是一小块铺铜区域。a、选择铺铜,可以选择圆形,或者矩形等都可以。设置大小为10mm的圆形,顶层的焊盘。2、使用铺铜直接制作电容触摸按键。图中的方格就是铺铜出来的触摸按键。2、铺铜方式设计电容触摸按键。下面绘制PCB的时候使用。
2025-05-17 14:22:03
674
原创 STM32 CubeMX超详细开发带FreeRtos
在操作系统中,通常使用SVC指令来请求系统调用,而PendSV来进行线程切换时上下文保存动作。刚开始学习操作系统的时候,有点困惑为什么要这样做功能划分,这两个中断都让我有点傻傻分不清楚。后来觉得其实这应该也不算是硬性规定,就是约定俗成这么干,理论上用哪个去申请系统调用和切换上下文都是可以的。这也不是随意猜测的,如下可以看几个例子,在FreeRTOS中第一个任务的调用就是用的SVC,后面就一直是使用PENDSV做上下文切换;而在UCOS和RT-Thread中则是从第一个任务开始就都是使用的PENDSV。
2025-05-15 11:49:22
1442
原创 GPIO的8种模式分析
但是当外部输入低电平时,端口处又会被拉为低电平,此时传入IDR寄存器的也是低电平,输入高电平的话就没什么变化。但是当外部输入高电平时,端口处又会被拉为高电平,此时传入IDR寄存器的也是高电平,输入低电平的话就没什么变化。空闲时,IO状态不确定,处于一种高阻态,当外部输入高电平就会变成高电平,输入低电平就会变成低电平。将输入的高低电平状态存入输入数据寄存器(IDR),CPU读取IDR寄存器就可以。空闲时,由于上拉电阻打开,会将输入的引脚拉为高电平。空闲时,由于下拉电阻打开,会将输入的引脚拉为低电平。
2025-05-09 15:05:12
182
原创 STM32开发GPIO
General Purpose lnput Output,即通用输入输出端口,简称GPIO作用:负责采集外部器件的信息或者控制外部器件工作,即输入输出。
2025-05-07 17:25:52
282
原创 STM32开发printf函数支持
用于 ARM 目标的一种机制,可将来自应用程序代码的输入/输出请求传送至运行调试器的主机简单说:就是通过仿真器实现开发板在电脑上的输入和输出一般我们:不使用半主机模式!!!方法一:微库法在魔术棒→Target选项卡,勾选:Use Micro LlB,即可避免半主机模式方法二:代码法1个预处理、2个定义、3个函数1、,确保不从C库中使用半主机函数_FILE结构体,避免HAL库某些情况下报错,避免编译报错_ttywrch_sys_exit和等三个函数。
2025-05-07 17:12:57
1418
原创 WPS中excel如何进行设置打印效果
1、在页面中进行预览和设置,选择打印区域,框选想要打印的位置。3、在打印预览中进行设置打印效果,然后再进行打印。2、然后选择打印预览。
2025-05-06 14:19:18
230
原创 STM32配置系统时钟
STM32为了低功耗,一开始是关闭了所有的外设的时钟,所以外设想要工作,首先就要打开时钟,所以后面在使用外设的时候必须先用这个宏打开相应的时钟,比如打开GPIOA、ADC等外设的时钟。1、先配置HSE_VALUE,先告诉HAL库实际高速外部晶振是多少MHz的。3、sys_stm32_clock_init 函数(F1)2、HAL_RCC_ClockConfig函数(F1)1、HAL_RCC_OscConfig()函数。先配置系统时钟,后面的总线才能使用时钟频率。2、在启动文件.s中,在复位函数。
2025-04-21 00:06:16
1126
原创 STM32时钟树
STM32为了低功耗,一开始是关闭了所有的外设的时钟,所以外设想要工作,首先就要打开时钟,所以后面在使用外设的时候必须先用这个宏打开相应的时钟,比如打开GPIOA、ADC等外设的时钟。HSE高速外部时钟源、HSI高速内部时钟源,为什么会有两个,有了HSI高速内部时钟源,为什么还需要HSE高速外部时钟源,这两个都接8M的晶振。外部时钟一般需要接一个时钟源,也就是晶振,这个需要外接,增加一定的成本,但是更加稳定,比内部时钟稳定精确。3、使能外设时钟的宏:__HAL_RCC_PPP_CLK_ENABLE()
2025-04-20 23:24:46
374
原创 STM32单片机C语言
去看一下宏定义x?x?dox??x?x?x?x?x?x?x?x?x?;x?while0x?建议大家使用来 构造宏定义,这样不会受到大括号、分号、运算符优先级等的影响,总是会按你期望的方式调用运行!假设LED1(1)参数为真 ,那么就执行第一句,如果是LED1(0),那么就执行第二句。
2025-04-18 16:43:37
661
原创 keil5软件配置以及使用技巧
前面设置了编码格式,文本属性,代码提示和语法检测这些,他们会存储在global.prop文件中,此时我们只需要将这个文件保存下来,当重新安装keil5的时候再拿出来替换上就能使用了。下面是设置字体符合C/C++标准的字体,然后 数字 设置的大小和颜色是第三个框内Font的,Size大小是10,颜色是红色。下面是设置C/C++中程序文本的字体和颜色,第三个框Font中设置为大小10,颜色黑色。如果出现自己误操作关闭了很多需要的小窗口,那么可以通过恢复设置进行还原。2、快速定位函数或变量被定义的地方。
2025-04-18 15:15:01
483
原创 单片机基础知识-STM32
其中电脑内存的速度40GB/S怎么算的呢?首先X86架构的芯片一般是64位的,64/8 = 8 Byte(字节),8Byte*5GHz = 40GB/S由于冯诺依曼架构中程序指令和数据被存储在同一个存储器中,程序和数据共用一条地址和数据线,这就要求分时复用地址和数据线,效率偏低哈佛结构就将程序指令和数据存储到两个独立的存储器中,程序和数据的地址线和数据线都分开了,这样执行起来效率高,但是占用引脚等的资源STM32系列微控制器采用的是哈佛结构。
2025-04-12 13:24:51
558
原创 什么是中性线、零线、地线,三相四线制如何入户用电
地线和零线的区别:零线接入用电设备的内部回路,在低压220伏电路中,和火线承载一样的工作电流,它保护设备安全。地线与大地之间的阻值小于等于4欧姆为合格,并且地线系统在每隔20~30米之间要做重复接地,以防止地线的某处接地极断开,漏电电流通过接地系统从别的接地极流入大地,在变压器三相电侧,按照星形连接法,有一个中心点,这根线引出来的线接不接地:不接地就是中性线,接地就是零线。这多出来的一根是从三相电源的中性点引出来的,就是中性线或者零线,此时可以看到接入大地了,可以看做零线。在变压器的输出端出现了四根线。
2025-04-10 21:19:25
655
原创 三相电为什么没零线也能通电
3、从曲线图可以看出,随意的一点,其中一相电压等于等于另外两相电压之和,但是方向是相反的,相互抵消为0电压。由于其中一相电压,等于另外两相电压之和,假设其中一相如果是0电压可以去除,只要求出两相之间的电压差就可以了。单相电的电压:火线220V减零线0V等于220V,但是三相电之间没有零线,所以是三相火线之间的相差电压。其中一个电枢的情况就做一相,在这一相的发电中,可以看到需要零线,因为需要回路,一根火线不能成为回路。上面就是去除了一相,只留下了两相,此时就可以计算电压差了,计算电压差需要用到向量的概念。
2025-04-10 21:09:18
656
原创 stm32f103 boot引脚
在STM32F103微控制器中,配置BOOT引脚通常是为了进入系统的引导模式(Bootloader模式)或用于特定的调试和固件更新操作。STM32F103系列微控制器通常有两个BOOT引脚:BOOT0和BOOT1。它们的默认配置决定了设备在启动时如何寻找和执行代码。BOOT0:这是一个关键的引脚,用于决定设备启动时从哪种存储介质加载代码。当BOOT0引脚连接到VDD(高电平)时,设备从系统存储器(通常是内部Flash)启动。当BOOT0引脚连接到VSS(低电平)时,设备尝试从Bootloader区域启动
2025-03-20 08:54:51
1363
原创 Microsoft Edge中登录海康威视摄像头显示当前浏览器不支持解决方法
1、当使用IP登录海康威视摄像头的时候,浏览器显示了当前浏览器不支持解决方法。2、解决方法:在设置中的默认浏览器里面添加一个页面,然后选择允许,然后重启。
2025-03-18 16:54:51
300
转载 桥接、交换机、路由器、网桥、网关的概念
现在推出的无线路由器,在接上WAN的网线后,路由器会自动处理生成无线信号也就是wifi,可以供有无线网卡的设备访问互联网。路由器和交换机之间有一层包含关系,路由器可以满足交换机一切功能,但交换机没法满足路由器的功能。DDNS(Dynamic Domain Name Server,动态域名服务):DDNS是将用户的动态IP地址映射到一个固定的域名解析服务上,用户每次连接网络的时候客户端程序就会通过信息传递把该主机的动态IP地址传送给位于服务商主机上的服务器程序,服务器程序负责提供DNS服务并实现内网穿透。
2025-03-15 16:58:33
460
原创 记录一次wifi版有人物联串口服务器桥接网络调试经过
目前的项目想法是将一台设备IP192.168.3.56的设备通过网口发给串口服务器,然后串口服务器通过桥接,将这个数据通过wifi路由器转发给另外一台设备IP为192.168.3.17,其中串口服务器的IP为192.168.3.16,wifi路由器组成的局域网的网管192.168.3.1。7、这样双方就可以互传消息了,这种情况就是串口服务器和一号设备进行桥接,使得和串口服务器同在一个wifi局域网下的设备都可以访问一号设备了。5、将二号设备连接到路由器的wifi上,设置ip为192.168.3.17。
2025-03-15 16:08:58
400
嵌入式linux搭建nfs服务器必备的两个工具:nfs-utils,portmap,以及S60nfs文件
2023-05-31
linux下多线程服务器编程
2022-07-28
Qt写的支持多个客户端连接的服务器
2022-07-20
飞腾上银河麒麟编译qt5.9.8,使用aarch64-linux-gnu-g++,可以在飞腾直接编译,也可交叉编译
2022-07-15
Qt自定义弹窗,可阻塞,可以点击确定和取消并且两个按键可以做不同操作,界面可根据需求修改
2022-06-17
Qt在linux和windows通过QStorageInfo类来获取某个特定磁盘信息,包括大小
2022-06-13
pjsip库的头文件文件夹
2022-04-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人