技术文类
y20082478
这个作者很懒,什么都没留下…
展开
-
C语言实现的 mktime()接口
最近使用stm32F40x做一个项目,遇到比较蛋疼的一件事,同一份代码,在两个编译平台下编译出来的固件,烧录到板上,系统时间会自动改变,使用Linux平台编译的固件,系统时间总是比使用keil5编译出来的固件少1天,折腾了很久,最后发现,从RTC寄存器里面读出来的时间,两者是一致的,在调mktime()生成时间戳后就不一致了,那么问题就是出现在这个mktime()上面,因为都是调底层C库里面的mktime(),没法看到它们的实现方式,而且Linux版本的固件已经有产品在用户手上了,没办法,...原创 2021-12-17 11:06:12 · 1608 阅读 · 0 评论 -
一图读懂音频前端开发
音频采样:对于音频采样,如果只是做应用层开发(不是做底层)的话,只需要关心:采样率、采样深度、通道数 这几个参数;前期处理:1、AGC作用:当功放输入信号变化很大时,使输出信号保持恒定;即不会因发言者与麦克风的距离改变而使声音有忽大忽小声。2、ANC作用:背景噪音抑制功能,探测出背景固定频率的杂音并消除背景噪音,比如 风扇、空调等背景噪声。3、AEC作用:是对扬声器信号与由它产生的多路径回声的相关性为基础,建立远端信号的语音模型(高斯模型),利用它对回声进行估计,并不断地修...原创 2021-08-10 12:05:20 · 750 阅读 · 0 评论 -
Stm8l051x timer 库函数的使用
Stm8l051x 有5个定时器,其中timer1为16bit的优先定时器,timer2,timer3、timer5为16bit的通用定时器,timer4为8bit的基准定时器(详情查看datasheet),官方的库函数里面也提供这5个定时器接口给我们使用,具体如何使用这些定时器,具体步骤如下(以timer3 为例):1、在配置初始化定时器首先要确保定时器未被初始化,这需要我们先删除定时器:原创 2017-08-03 17:49:19 · 3973 阅读 · 1 评论 -
STM8L51X gpio中断
本文采用官方的库函数接口实现STM8L51X gpio中断 STM8L51X的中断向量入口函数都放在stm8l51x_it.c里面。不同的中断对应的中断号如下(在stm8l51x_itc.h里面): typedef enum { FLASH_IRQn = (uint8_t)1, /*! DMA原创 2017-08-02 12:04:10 · 3411 阅读 · 0 评论 -
STM8L051x SPI Master
STM8L051x SPI作为Master 使用 在这里我使用STM8L051x SPI作为Master,ads1293作为slave,使两者进行通信。 1、查看STM8L051x 的datasheet 中SPI的master模块介绍如下: 时钟相位如下: 查看ads1293 的datasheet中SPI 介绍如下: 由STM8L051x原创 2017-08-08 20:10:24 · 2271 阅读 · 0 评论 -
IAR 开发STM8 学习
IAR、 STM8 单片机原创 2017-05-23 20:23:33 · 2620 阅读 · 0 评论 -
家庭安防IPC设备kernel裁剪
最近在做家庭安防IPC,选择使用Hisi3518EV200方案,为了节约成本,采用8M的flash,而海思提供的kernel编译出来的uImage差不多有3M,这导致flash严重不够用,所以必须对u-boot、kernel、rootfs进行裁剪,以下是对kernel进行的裁剪及配置,最后编译出来的uImage大小为1.6M左右。 1、设备驱动a、Input子系统:其主要是一些键盘、原创 2017-04-19 17:14:02 · 777 阅读 · 0 评论 -
appweb的移植
appweb 编译、测试、移植原创 2015-10-07 16:57:58 · 1208 阅读 · 0 评论 -
Linux 的多线程编程的高效开发经验
原文链接:http://www.ibm.com/developerworks/cn/linux/l-cn-mthreadps/背景Linux 平台上的多线程程序开发相对应其他平台(比如 Windows)的多线程 API 有一些细微和隐晦的差别。不注意这些 Linux 上的一些开发陷阱,常常会导致程序问题不穷,死锁不断。本文中我们从 5 个方面总结出 Linux 多线程编程上转载 2015-06-29 15:50:02 · 495 阅读 · 0 评论