自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Huskar_Liu的博客

Xilinx,Zynq,Vivado,petaLinux

  • 博客(309)
  • 资源 (3)
  • 收藏
  • 关注

原创 Altium Designer常用小技巧汇总

altium

2024-04-11 15:13:11 286

原创 自动化标准Makefile与lds

makefile

2024-04-02 23:06:30 495

原创 C语言中的宏MACRO的用途

c macro

2024-04-02 22:28:11 144

原创 ubuntu16.04安装vscode那些事

vscode

2024-04-02 18:28:47 407

原创 ubuntu16.04安装vim那些事

linux

2024-04-02 15:05:57 109

原创 shell脚本编写纪要

linux

2024-04-02 12:18:00 80

原创 Allegro优化布线常用技巧

cadence

2023-05-24 10:52:51 1766

原创 Allegro模块化布局常用技巧(group)

cadence

2023-05-24 09:59:19 1338

原创 Allegro约束规则设计

allegro约束规则

2023-05-06 14:10:49 3598

原创 Allegro生成artwork推荐做法

allegro出光绘

2023-05-05 16:40:19 1259

原创 Allegro自定义快捷键(修改 ix iy 的步进,其他快捷功能)

allegro 修改快捷键

2023-05-05 12:43:25 1064

原创 CameraLink备忘录

Cameralink

2023-03-07 12:04:21 2704 1

原创 PANGO的CFG那些事

CFG

2023-03-06 16:30:09 583

原创 PANGO的IOB的电平能力那些事

IOB

2023-03-06 11:14:05 792

原创 电平转换那些事

电平转换

2023-03-02 11:12:00 481

原创 NE555那些事

NE555

2023-02-08 09:50:57 626

原创 TINA9仿真那些事

tina9

2022-09-09 12:00:40 1590

原创 LTSPICE仿真那些事

ltspice

2022-09-08 19:06:17 3672

原创 RLC串联谐振那些事

RLC是常见的电路模型,属于二阶电路。

2022-04-02 16:14:16 2898

原创 STM32第三十二课(Freertos, HAL, Cubemx, Ethernet, LWIP)

通过在cubemx中配置ethernet和lwip,可以方便的使用网络功能。首先是要配置ethernet。

2022-01-25 16:59:41 4654 1

原创 STM32第三十一课(IAP,bootloader,USART,CubeMX)

官方参考例程AN4657。https://www.st.com/en/embedded-software/x-cube-iap-usart.html

2022-01-05 13:23:55 1603

原创 STM32第三十课(IAP,bootloader)

应用中产品装配完成后,下载口不便引出的情况下,或者是某些设备需要具有远程更新程序情况下,使用串口IAP的方式将会更加便捷。用户可以通过设置BOOT1和BOOT0引脚的状态,来选择在复位后的启动模式。[ bootmode1:bootmode0 ]1)00或者10:即bootmode为0时,始终从Main Flash启动。是STM32内置的Flash,一般我们使用JTAG或者SWD模式下载程序时,就是下载到这个里面,重启后也直接从这启动程序。起始地址0x80000000。2)01:即bootmode0为

2022-01-05 09:54:22 5062

原创 STM32第二十九课(Freertos, HAL, cubemx,CMSIS)

来看看CMSIS_V1对Freertos的API的封装。typedef QueueHandle_t osMessageQId;typedef struct QueueDefinition * QueueHandle_t;typedef struct QueueDefinition xQUEUE;typedef xQUEUE Queue_t;所以,在CMSIS下,osMessageQId,是一个指针,是一个Queue的句柄。...

2021-12-30 14:29:53 1238

原创 STM32第二十八课(Freertos, HAL,cubemx,task notification)

task notification是更高级的IPC。可以替代sem,queue, event group等。TN是一种更高效率的IPC方式。每个task都有一个task notification vector,TNV。32bits。+++++++++++++++++++++++++++++++++++++++++++使用TNV模拟二值信号量。void DataProcess_task(void *pvParameters){ u8 len=0; u8 CommandValue=COMMAN

2021-12-26 18:33:38 537

原创 STM32第二十七课(Freertos, HAL,cubemx,eventgroup)

eventgroup是一种更高级的IPC。每个EG,具有24个bit,也就是说,具有24个标志flag。用户任务可以通过调用API,可以针对每个标志,打标或者清标。这种方式,是最接近于前后台架构下的使用方式。+++++++++++++++++++++++++++++++++常用的API有,xEventGroupSetBits----对一个EG,打标。xEventGroupClearBits----对一个EG,清标。xEventGroupGetBits----获取一个EG的当前值。如果用户只关

2021-12-26 18:12:20 542

原创 STM32第二十六课(Freertos, HAL,cubemx,soft timer)

freertos提供了soft timer。

2021-12-26 16:55:55 2570

原创 STM32第二十五课(Freertos, HAL, cubemx, IPC)

在前后台架构中,我们使用了全局变量,作为前台ISR和后台main之间的共享数据。freertos中,可以使用更复杂的data share,那就是list。对于一个需要数据看板和数据处理的应用场景,多任务之间,可以通过共享list,实现数据处理。freertos提供了list相关的增删改查的API。最常见的,就是data board类的应用。多个任务,均可以在数据报表中增删改查,完成各个任务自己的业务。++++++++++++++++++++++++++++++++++++list,是最基础的共

2021-12-26 14:29:28 1290

原创 STM32第二十四课(Freertos ,HAL ,cubemx, Tasksuspend)

osDelay方式,将任务挂起,是基于time base的,当时间到了之后,任务会取消挂起,但是,有些情况下,并不知道何时需要将任务挂起,又何时再将任务恢复,这时候,就需要使用事件挂起方式,当事件到来时,将任务挂起,当另外的事件到来时,再将任务恢复。所有有两种场景,一种是ISR内挂起任务,一种是任务内挂起任务。tasksuspend和taskresume是成对使用。suspend的任务,只能由resume函数解放。如果是在ISR中使用,那么需要调用fromisr版本的API。++++++++++

2021-12-26 13:31:30 389

原创 STM32第二十三课(Freertos, HAL ,Cubemx)

勾选cmsis v1,++++++++++++++++++++++++++++++++++++++config param:++++++++++++++++++++++++++++++++++++include param++++++++++++++++++++++++++++++++++advance setting+++++++++++++++++++++++++++++++++++task and queue+++++++++++++++++++++++++++++++++++ti

2021-12-25 15:58:10 679

原创 STM32第二十二课(I2S,HAL,cubemx)

本文使用cubemx生成尽可能多的代码。

2021-12-24 17:15:31 2901 1

原创 STM32第二十一课(USB SLAVE, HAL)

STM32F407 的 USB OTG FS 是一款双角色设备 (DRD) 控制器,同时支持从机功能和主机功能,完全符合 USB 2.0 规范的 On-The-Go 补充标准。此外,该控制器也可配置为“仅主机”模式或“仅从机” 模式,完全符合 USB 2.0 规范。从机模式下则仅支持全速(FS, 12 Mb/s)收发器。ST 提供了我们一个完整的 USB OTG 驱动库(包括主机和设备),通过这个库,我们可以很方便的实现我们所要的功能,对于USB OTG FS功能模块, STM32F4通过AHB

2021-12-24 12:00:55 2714

原创 STM32第二十课(I2S,HAL)

WAV 即 WAVE 文件, 标准格式化的 WAV 文件和 CD 格式一样,也是 44.1K 的取样频率, 16 位量化数字,因此在声音文件质量和 CD 相差无几!WAV 一般采用线性 PCM(脉冲编码调制)编码, WAV 是由若干个 Chunk 组成的。RIFF WAVE Chunk、Format Chunk、 Fact Chunk(可选)和 Data Chunk。 每个 Chunk 由块标识符、数据大小和数据三部分组成,块标识符由 4 个 ASCII 码构成,数据大小则标出紧跟其后的数据的长度(单

2021-12-22 10:12:54 5326

原创 STM32第十九课(SDIO,FATFS,HAL)

STM32F4 的 SDIO 控制器包含 2 个部分: SDIO 适配器模块和 APB2 总线接口,复位后默认情况下 SDIO_D0 用于数据传输。初始化后主机可以改变数据总线的宽度SDIO_D0、 SDIO_D[3:0]或 SDIO_D[7:0]可以用于数据传输。MMC 版本 V3.31 和之前版本的协议只支持 1 位数据线,所以只能用 SDIO_D0(为了通用性考虑,在程序里面我们只要检测到是 MMC 卡就设置为 1 位总线数据)如果一个 SD 或 SD I/O 卡接到了总线上,可以通过主机配置

2021-12-21 12:59:11 2291

原创 STM32第十八课(FSMC,SRAM,HAL)

XM8A51216 的 A[0:18]并不是按顺序连接 STM32F4 的 FMSC_A[0:18],不过这并不影响我们正常使用外部 SRAM,因为地址具有唯一性。这样设计的好处,就是可以方便我们的 PCB 布线。使用 FSMC 的 BANK1 的sector3 来控制 XM8A51216,因为 XM8A51216 的读写时间基本一致,所以,我们设置读写相同的时序来访问 FSMC。++++++++++++++++++++++++++++++++++++++使能 FSMC 时钟,并配置 FSMC 相

2021-12-21 10:44:33 1618

原创 STM32第十七课(SPI,HAL)

STM32F4 的 SPI 功能很强大, SPI 时钟最高可以到 37.5Mhz,支持 DMA,可以配置为 SPI协议或者 I2S 协议(支持全双工 I2S)。我们使用 STM32F4 的 SPI1 的主模式,++++++++++++++++++++++++++++++SPI相关的库函数和定义分布在文件 stm32f4xx_spi.c 以及头文件 stm32f4xx_spi.h 中。配置相关引脚的复用功能,使能 SPI1 时钟。我们要用 SPI1,第一步就要使能 SPI1 的时钟, SPI1 的

2021-12-20 19:48:59 3144

原创 STM32第十六课(DMA,HAL)

有 2 个 DMA 控制器(DMA1 和 DMA2), 共 16 个数据流(每个控制器 8 个), 每一个 DMA 控制器都用于管理一个或多个外设的存储器访问请求。每个 DMA 控制器有 8 个数据流,每个数据流有多达 8 个请求5 个事件标志(DMA 半传输、 DMA 传输完成、 DMA 传输错误、 DMA FIFO 错误、直接模式错误),进行逻辑或运算,从而产生每个数据流的单个中断请求仅 DMA2 控制器支持存储器到存储器的传输, DMA1 不支持。DMA_SxCR 控制数据流到底使用哪一个通道

2021-12-20 16:29:12 2742

原创 STM32第十五课(DAC,HAL)

DAC 模块有 2 个输出通道,每个通道都有单独的转换器。在双 DAC 模式下, 2 个通道可以独立地进行转换,也可以同时进行转换并同步地更新 2 个通道的输出。DAC 输出是受 DORx 寄存器直接控制的,但是我们不能直接往DORx 寄存器写入数据,而是通过 DHRx 间接的传给 DORx 寄存器,实现对 DAC 输出的控制。如果没有选中硬件触发(寄存器 DAC_CR1 的 TENx 位置’ 0’ ),存入寄存器 DAC_DHRx的数据会在一个 APB1 时钟周期后自动传至寄存器 DAC_DORx。如

2021-12-20 14:56:39 1464

原创 STM32第十四课(ADC,HAL)

STM32F407ZGT6 包含有 3 个 ADC。 STM32F4 的 ADC 最大的转换速率为 2.4Mhz,也就是转换时间为 0.41us(在 ADCCLK=36M,采样周期为 3 个 ADC 时钟下得到),不要让 ADC 的时钟超过 36M,STM32F4 的 ADC 在单次转换模式下,只执行一次转换,该模式可以通过 ADC_CR2 寄存器的 ADON 位(只适用于规则通道)启动,也可以通过外部触发启动(适用于规则通道和注入通道),这时 CONT 位为 0。一旦所选择的通道转换完成,转换

2021-12-20 09:53:35 2176

原创 STM32第十三课(RTC,HAL)

RTC 时钟分频。一般我们选择 LSE,即外部 32.768Khz 晶振作为时钟源(RTCCLK),而 RTC 时钟核心,要求提供 1Hz 的时钟,所以,我们要设置 RTC 的可编程预分配器。

2021-12-18 18:18:29 1958

原创 STM32第十二课(自建实用库,lcd_disp,HAL)

STM32中,使用LCD,是基于FSMC接口的MM方式,HAL库并没有提供LCD的显示库,我们自建一个基于MM的库,lcd_disp,在其中实现show的功能。++++++++++++++++++++++++++++++++++++

2021-12-18 15:07:27 1896

smpte sdi k7.zip

smpte sdi k7.zip

2021-06-10

cameralink_v2.0_cn.pdf

cameralink_v2.0_cn.pdf

2021-06-09

ZEDBOARD上linux下OLED驱动代码

ZEDBOARD上linux下OLED驱动代码,基于DEVICE TREE 实现的驱动代码,使用时,需要根据需要,来修改DTB

2020-04-25

空空如也

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

TA关注的人

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