自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(110)
  • 资源 (18)
  • 收藏
  • 关注

原创 推挽调试记录

推挽调试时发现缺了一个肩:然后驱动信号如下:分析原因为驱动信号占空比相差太大引起偏磁,波形异常,同时mos也发烫。更改驱动信号如下:D极信号如下:两个肩都出现了。

2020-09-22 10:33:08 28

原创 多线程-线程池查询法

/*思路:main线程负责发放数据,其余线程抢数据,使用数据标志位来标记main线程发放的数据是否被取走(0未取走,1已经被取走, -1任务完成线程退出)当main线程查询到数据标志位是1(数据被取走)就继续下发数据当其余线程查询到数据标志位是0(数据未被取走)就取走数据并把标志位置1当main把数据发放完毕之后标志位写-1,其余线程拿到-1就退出,mian线程负责清理线程*/#include <pthread.h>#include <stdio.h>#inclu.

2020-08-24 13:46:41 69

原创 信号

void (*signal(int signum, void (*func)(int)))(int)使用sighandler_t容易造成名字空间冲突,所以还是使用上述定义方式;ctrl+c 等于 SIGINT 终端中断符忽略信号#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <sys/types.h>#include <sys/wait.h...

2020-08-22 13:35:18 32

原创 多线程

进程的产生fork()调度器的策略决定哪个进程先运行父进程及子进程的区别:fork返回值不同,pid不同,ppid不同,文件描述符/信号不继承fork之前要先 fflush(NULL)进程的消亡及释放资源wait()waitpid()#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <sys/types.h>#include <.

2020-08-21 13:09:32 34

原创 GD32F450串口空闲中断加DMA接收不定长数组

串口初始化typedef struct { uint8_t RX_flag; //IDLE receive flag uint16_t RX_Size; //receive length uint8_t RX_pData[RX_LEN]; //DMA receive buffer}USART_RECEIVETYPE; ... ...USART_RECEIVETYPE usart0;void gd_eval_com_init(uint32

2020-05-11 17:37:10 476

转载 SCCB总线

SCCB总线就是简化了的I2C总线使用SCCB总线目的是为了读写寄存器,所以只需要掌握总线读写就ok了, 可以参考该文章:https://blog.csdn.net/weixin_43529046/article/details/904538153阶段写就是直接操作寄存器写器件地址,写寄存器地址,写数据 就完成了寄存器写入写入之后如果想读取一下看是否写入成功可以用两段读,...

2020-01-06 16:30:20 283

原创 DDS

2019-11-21 17:03:54 62

原创 5v过压保护电路

假如要在6v切断输出可以按照上边计算的公式进行配置,实测5.8v切断输出,但是到10v左右的时候电路开始冒烟,虽然恢复到5v之还是正常工作不过还是需要继续调整参数但是作为保护电路有一点不足: 管子是常开的, 过压一上电齐纳还没反应过来就已经把负载干死了,齐纳的响应还是太慢还是直接加个TVS算了...

2019-11-20 17:35:27 1586 5

原创 单按键长短按状态机

1 短按以松手作为触发条件2 长按以2秒钟未松手作为触发条件3 按键按下为0 松开为1 4 key_return 0 未按下 1 短按 2 长按伪代码如下:enum key_state{ S0=1, S1, S2, S3};char key_scan(){ static char key_state = 0, key_time = ...

2019-11-15 16:02:35 175

原创 KEY

1 MAX1383引发输入波形畸变的问题如果在模拟端串入电阻是否可以解决?2 原始代码中FFT是128点, comsis中FFT支持多少点?3 血管闭合应该是采集初始阻抗 然后根据输出功率曲线 达到阻抗的百分比时候或者阻抗急速升高的时候关闭输出以此来防止黏连...

2019-11-12 16:40:19 62

原创 迪文屏幕无声音

迪文的上位机IDE语音设置界面很不人性化:注意这里要填16进制的数字,比如你的音频文件是31.wav那你这里就要写1F而不是31

2019-11-01 16:47:30 193

原创 基于STM32CUBEMX的HAL库完成两片STM32的IIC通信

参考资料:1https://blog.csdn.net/u011456016/article/details/702335992https://blog.csdn.net/g_crisis/article/details/822277683https://www.cnblogs.com/xingboy/p/9647326.html主机侧:主机侧测试代码:int...

2019-09-04 14:15:31 850

原创 利用stm32高级定时器的重复计数实现输出精确个数的pwm波

TIM_TimeBaseStructure.TIM_RepetitionCounter = 0;利用该配置完成输出精确数量的PWM波形,但是该值取值范围是[0, 255], 如果需要大于该数值的pwm波个数,可以对中断进行计数,当达到需要的脉冲个数之后再关闭pwm即可....

2019-09-02 11:14:11 1749

原创 负载等于内阻的时候输出功率最大

2019-08-07 09:16:35 619

原创 关于stm32启动及运行异常

在测试stm32的时候发现最简单的串口打印demo都无法运行,而且现象特别奇怪:1 下载后程序无法自动运行2 调试的时候要点三次full speed才能进入c代码, 前两次看到都是在反汇编代码的窗口中运行, 进入c代码之后可以正常打印.排查可疑点:1 boot0与boot1设置是否正确, 如果boot引脚设置错误就会引起无法启动2 设置界面的run to main是否勾选...

2019-06-05 22:49:03 684

原创 关于mos驱动芯片的layout

在绘制buck电路的过程中发现layout对电路的影响较大. 高手指出了我绘制电路中的问题, 如下:各个回路的面积都比较大, 下边是更改后的layout,还是不够好,不过经过调试后输出也基本能符合要求了, 可以对比一下.在调试的时候还发现另外一些问题:上管的驱动波形为啥会突然下跌然后又上升,200khz 4.7nf 感觉是这个自举电容小了,增大自举电容后波形改...

2019-05-17 14:24:30 1966

转载 正版ST-link/V2 JTAG/SWD引脚定义和注意事项

原文链接:https://blog.csdn.net/xinghuanmeiying/article/details/78026561但是换成正版的ST-link/V2,还是四线(SWIO,SWCLK,3V3,GND)连接的话,就会出现No target connected的问题原来TVCC是电源平衡输入引脚,但不能作为MCU的供电引脚,所以要连五根线(SWIO,SWCLK,3V3,G...

2019-04-17 15:30:10 4157 1

原创 H桥电路中mos管串联二极管的作用

因为MOSFET的体二极管速度太慢,有反向直通,所以采用一个二极管串联在外面,外面再整体并联一个而且高压瞬态完全不一样的,就现在大家做的逆变器,全桥,都是没有考虑这个直通的,因为这个直通的时间都是次ns级以内的MOS还是可以扛住的,然后遇到那种变态的高可靠性要求,全部都算FAIL串联二极管没有特殊要求只需要电流够就行 ...

2019-02-13 14:11:35 2601

原创 stm32基于CUBEMX使用LL库操作spi

keil v5CUBEMX v5mcu:stm32f429igt6因为项目中需要快速采集外部spi接口adc的数据,所以研究使用LL库读取spi数据。cube中打开spi功能设置为LL库spi读取可以自己实现while((SPI1->SR & 1<<1) == 0);//wait for tx buf emptySPI1-&g...

2019-02-12 16:34:22 6440

原创 keil使用v6.10.1编译器时更改添加代码解决串口打印无输出的问题

KEIL:5.26编译器:6.10.1cubemx:5.0.1之前一直使用v5编译器,使用printf的时候需要在uart.c中添加如下代码:/* USER CODE BEGIN 1 */#ifdef __GNUC__ /* With GCC/RAISONANCE, small printf (option LD Linker-&gt;Libraries-&gt;Small...

2019-01-17 10:43:10 461 1

原创 使用cubeMX完成STM32定时器触发多通道adc并用DMA读取的功能

cubeMX 5.0.1KEIL 5.26compiler: v6.10.1 cubeMX中设置:定时器:ADC:开启通道1和通道2DMA: main.c HAL_TIM_Base_Start(&amp;htim8); HAL_ADC_Start_DMA(&amp;hadc1, (uint32_t *)&amp;adc_val[0],...

2019-01-15 23:19:52 6941

原创 STM32F4基于cubeMX使用HAL库读取内部adc值并解决ad值不会变化的问题

mcu:stm32f429库:HAL打开两个adc通道,使用规则序列注意这里选择half word的时候,程序里的缓冲区就要写成uint16_t buf[];主程序 main.c/* USER CODE BEGIN PD */uint16_t ADC_Value[100];uint8_t i;uint32_t ad1,ad2;/* USER CODE END...

2019-01-02 17:04:42 4755 1

原创 LM2576HV调节负压输出拉低输入电压

LM25x6xx正压转负压的应用中,经常出现拉低输入电压到3v左右并伴有巨大的电流, 芯片发热的情况发生.一般有如下三个原因:1 芯片的散热焊盘PAD接错, 在生成负压的电路中PAD一般接负电压而不是GND2 输入电容的负极接错, 其中LM2576和LM2596的输入电容接发是不一样的.3 芯片启动的瞬间需要非常大的启动电流, 如果输入电流不够就会导致启动失败,这种情况可以增大输入电容...

2018-11-18 20:05:37 1074

原创 stm32cubeMX下使用STM32F334的HRTIM生成互补对称PWM并插入死区

1 stm32cubeMX配置这里一定要配置成PLLCLK*2实际效果:main.c中需要添加的代码: HAL_HRTIM_WaveformOutputStart(&hhrtim1, HRTIM_OUTPUT_TA1 | HRTIM_OUTPUT_TA2);//通道打开 HAL_HRTIM_WaveformCountStart(&hhrtim1, H...

2018-11-12 20:06:37 4412

原创 两片STM32使用HAL完成SPI全双工主从通信

SPI是一种非常简单易用的全双工主从式通信协议。本文使用两片STM32F429,一个作为主机,一个作为从机完成SPI的全双工通信测试。在STM32的HAL库中简化了SPI主机端的发送接收,但是HAL库没有提供一个简单的SPI从机代码接口,这样就需要自己拼接接口来完成全双工的通信。以下都以实现全双工通信为目的进行配置和编写:一 主机端:禁止使用SPI的硬件片选信号,因为这个信号是...

2018-10-31 11:40:27 12525 10

原创 stm32基于HAL库的串口与DMA完成不定长数据接收教程及相关解疑

http://www.stmcu.org/module/forum/thread-606385-1-1.htmlhttps://blog.csdn.net/u014515202/article/details/73293917/https://blog.csdn.net/qq_24376681/article/details/78729946基本知识:IDLE中断什么时候发生?...

2018-07-18 19:24:21 6293 1

原创 使用stm32的HAL库完成pwm输入模式测量频率和占空比的详细教程

STM32定时器具有PWM的输入捕获模式。PWM输入捕获是定时器输入捕获的一个特例,单通道的输入捕获只能获取波形的频率,但是PWM输入捕获可以获取到频率和占空比,对应的高低电平宽度也就能获取到。 它的时序如下图所示: 使用cubemx配置方法: 就是使用TIM2的ch1和ch2来捕获一个pwm信号。这里只测试了update event,我测试55khz使用该分频与计数值...

2018-07-17 14:00:51 15413 3

转载 关于STM32F4的IAP的一点点记录

    看了原子的STM32的IAP 教程,一开始还以为bootloader是啥意思,差点跟uboot搞混淆了,其实stm32的“bootloader”不需要自己写汇编和链接脚本,Boot和App都是单片机程序,只是实现的功能不同,前者是为了引导App,后者是为了实现业务逻辑。只不过boot是有写flash或者sram的功能,再加上通信口(USB/USART etc. )来接收所谓的应用程序app...

2018-03-07 20:52:26 2127

转载 stm32 不断进入串口中断的bug解决方法

在使用stm32的时候,发现usart会莫名的卡在串口中断里,然而串口初始化只配置了RXNE中断,打断点发现不断进入中断却没不是RXNE中断引起的,经过查找资料发现是ORE的问题,2篇博文解决方案如下:http://bbs.21ic.com/icview-160999-1-1.html及http://blog.csdn.net/origin333/article/details/49992383大...

2018-03-04 15:00:20 10651

原创 Qt使用上一次打开的路径

在Qt中使用QFileDialog::getOpenFileName和QFileDialog::getOpenFileName的时候默认是打开某一个路径, 如果要多次选择某个路径下的多个文件, 就需要使用上次打开的路径.实现方法如下所示: QDir dir; QFileDialog::Options options; options

2017-03-06 09:59:36 2899 1

转载 线程的分离与非分离状态

线程的分离状态决定一个线程以什么样的方式来终止自己    非分离 【joinable】     分离 【detached】非分离的线程能够被其他线程收回其资源和杀死;在被其他线程回收之前,它的存储器资源(如栈)是不释放的【默认状态】分离的线程是不能被其他线程回收或杀死的,它的存储器资源在它终止时由系统自动释放这里要注意的一点是,如果设置一个线程为分离线程,而这个线程运行又非

2017-02-04 15:00:30 2970

原创 Qt显示界面旋转

开发中有时需要这样显示这时就要用到Qt的旋转. Qt提供了插件来支持旋转显示. 在Qt编译的时候添加编译选项 -qt-gfx-transformed . 我的配置文件为:# !bin/bash./configure -prefix /opt/qtenv/Qt-4.8.4-arm \-opensource \-confirm-license \-force-pkg

2015-11-17 14:16:50 4069

原创 linux3.2下adt7320的spi驱动编写

在3.2中没有spi_read/spi_write, 更改为了spi_write_then_read, 好用惨了驱动程序adt7320_driver.c#include #include #include #include #include #include #include #include #include #include #include #include

2015-08-07 16:00:50 1375 3

原创 sdk6下启用spidev

Com3354开发板 , 资料基于sdk6.0:一   首先去除与spi0冲突的i2c1:其他的板子 如果没有冲突的引脚可以略过这一步.二    内核配置:Device Drivers  ---> [*] SPI support  --->    McSPI driver for OMAP 如果是要模拟spi设备接口的话,还需要在配置的时候加上

2015-08-04 16:50:24 843

原创 修改uboot代码增加环境变量

虚拟机里弄好了编译链和 nfs tftp但是没有源码需要拷贝uboot和kernel的源码进去.编译uboot:make com335x_nand_512_configmake ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi-编译kernel:1.清理 make ARCH=arm CROSS_COMPILE=arm

2015-07-30 15:37:07 4750

原创 beaglebone-black使用TI-sdk 通过修改dts文件来使能 spidev1.0

将TI sdk里的 am335x-boneblack.dtb反编译. 观察dts文件:1. 上边这个图片为pinmux 下边则为ethernet配置, 可以看到如果有两个pinmux 则在模块配置中要写明两个名称, 并且pinctrl-0 / pinctrl-1要分别与之对应.

2015-07-19 18:25:00 4777 1

原创 beaglebone black上使用TI sdk中的linux系统来编写spi驱动

根据之前的博客, 我们已经可以从tftp下载内核 并且挂载nfs为根文件系统了, 我们可以到 /tftp 目录下查看到启动系统使用的内核和设备数文件:zImage-am335x-evm.bin  和 am335x-boneblack.dtb然后再查看一下 /dev 下有没有spi设备( ls /dev ), sdk中的系统是没有开启spi设备的. 我们知道 spi的架构是, 先定义

2015-07-13 14:28:05 4222

转载 移植tslib

原文链接: http://blog.csdn.net/zy812248258/article/details/42554139首先下载tslib :   https://github.com/kergoth/tslib1. 为了防止安装过程中出现错误,先执行命令: sudo apt-get install autoconf automake libtool2. 解压源码,

2015-07-09 09:13:37 732

原创 TI am335x sdk安装过程记录

beaglebone black出厂是带的debian的系统, 除此之外TI还提供了一个sdk, 这个sdk由以下几部分组成1. 预编译好的 SPL uboot kernel dtb的镜像, 在 sdk/baord_support/prebuilt-images 下: 其中 uboot-spl.bin-am335x-evm 是板子的初始化程序, 这个程序运行之后可以引导uboot(u-boot

2015-07-08 09:07:06 13642

转载 UBUNTU 14.04 在 vmware workstation10下无法进入unity模式

原文链接: http://www.ntex.tw/wordpress/1744.html以下命令都在家目录下执行sudo apt-get update; sudo apt-get install gnome-session-fallbackwget https://raw.githubusercontent.com/graychan/notes/master/vmware/tools

2015-07-03 12:13:31 12114

C++11-cheatsheet

相信描述了c++11的更改 以及与c++03 的逐一对比

2013-06-05

Google C++Style Guide 高清书签版

google的c++代码规范 edisonpeng 大神 2009/3/25版本

2013-05-29

vc 插件 免破解

十分好用的vc6.0 插件 绿色免破解版本

2012-11-06

华邦 spi-flash w25x80 中文文档

由本人翻译的w25x80手册 只是部分指令 自行翻译 能力有限 如有错误概不负责请多指正

2012-08-20

stc-w25x80程序

网上下载的flash指令代码 如有错误请多指正

2012-08-20

华为模电教程

华为模电教程

2012-07-20

FPGA技巧Xilinx

FPGA技巧Xilinx.pdf

2012-07-20

华为PCB设计规范

华为PCB设计规范

2012-07-20

硬件工程师手册

硬件工程师手册

2012-07-20

华为_大规模逻辑设计指导书

华为_大规模逻辑设计指导书

2012-07-20

Verilog HDL 华为入门教程

Verilog HDL 华为入门教程

2012-07-20

ubuntu安装方法

文档说明了在vmware中安装ubuntu的详细步骤,其中包含系统的安装、vim的配置 、帮助文档的安装、ctags的安装等。。

2012-07-22

华为模电教程(上、下)

关于华为模电的培训教程 非常详细 从事电子行业必须!

2012-07-22

Qt4中文文档

q t 4 中 文 文 档

2012-04-26

Qt创建工程小结

三种项目的创建方法 与 network相关项目的注意事项

2012-04-27

进程管理与通信总结

基础概念: 进程与程序区别:进程是程序的一次动态执行过程.进程在内存中运行,程序在磁盘中存储. 线程:LWP 进程的通信 BSD(高校):pipe、fifo、信号 System V:share memory、消息队列、信号灯(ftok) BSD:Socket

2012-04-13

uart_dma_idel.zip

使用GD32F450ZGT6 usart0和 DMA1CH2完成空闲中断加DMA接收不定长数据 参考链接:https://blog.csdn.net/qq_38113006/article/details/105843921?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1.nonecase

2020-05-11

USART CMD - 不定长接受.zip

stm32f1系列的单片机使用串口和dma来接收不定长数据, 这个是微雪教程上的 推荐看微雪HAL教程的串行通信章节.

2019-06-07

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除