首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Linux学习系列六:操作GPIO

    1 引言 学习单片机的第一个例子通常都是点亮LED灯,对于Linux应用,我们也从LED入手,我就记得自己刚开始学的时候查了好多资料才勉强能控制一个灯亮,当时就感受到了Linux和单片机裸机有很大的差异...2.2.软件 1)需要在上一篇《Linux学习系列五:Nand Flash根文件系统制作》的基础上改动下Linux内核配置,生成新的970uimage并烧写到板子里。...2)先使用我们之前的交叉工具链去编译上述代码 arm-none-linux-gnueabi-gcc gpio_demo.c -o gpio_demo 将生成的gpio_demo放到板子里去运行,提示如下错误...3)使用和板子里自带文件系统匹配的交叉工具链来重新编译 arm-linux-gcc gpio_demo.c -o gpio_demo 这时它会报一个错误: ?...再次将gpio_demo放到板子上,运行,就不再报错了,可以看到LED D3灯在不断的闪烁。 5 结束语 本篇为大家介绍了Linux下GPIO的使用,同时也穿插着介绍shell脚本的些许知识。

    3.9K20

    【数字信号处理】基本序列 ( 基本序列列举 | 单位脉冲序列 | 单位脉冲函数 | 离散单位脉冲函数 | 单位脉冲函数 与 离散单位脉冲函数的区别 )

    文章目录 一、基本序列列举 二、单位脉冲序列 1、单位脉冲函数 2、离散单位脉冲函数 3、单位脉冲函数 与 离散单位脉冲函数的区别 一、基本序列列举 ---- 基本序列 有 单位脉冲序列 单位阶跃序列...矩形序列 实指数序列 正弦序列 复指数序列 二、单位脉冲序列 ---- 单位脉冲序列 : \delta (n) = \begin{cases} 1 \ \ \ \ n = 0 \\ \\ 0 \ \...\ \ n = 1 \end{cases} 1、单位脉冲函数 单位脉冲函数 ( 单位冲击函数 ) 对应的 函数图像 如下 : 横轴是 n , 纵轴是 \delta (n) ; n = 0 时...(t) 为无穷 t = 1 时 , \delta (t) = 0 3、单位脉冲函数 与 离散单位脉冲函数的区别 单位脉冲函数 与 离散单位脉冲函数 的区别 : ① 横轴坐标为 0 的情况 :...都为 0 ; ③ 是否可实现 : 单位脉冲函数 \delta (n) 在物理上是可以实现的 ; 离散单位脉冲函数 \delta (t) 在物理上不可实现 ;

    5.4K20

    GPIO操作原理(Linux一切皆文件)

    Linux 系统定义了一切皆文件的原则,甚至于硬件:磁盘,软盘,等……,这样的好处是,在不同的平台和硬件上都能形成统一的调用方式。...接触过 Linux 的,应该都了解 echo "0" > test.txt 是将一个字符串 0 输入到当前目录的 test.txt 文件中,那么下面所有的操作,均基于这个操作形式。...GPIO端口 自 Linux 2.6.21 起,GPIO 作为一个基础组件包含到Linux 内,我们可以根据 GPIO 规范直接使用。...控制 GPIO 的目录位于 /sys/class/gpio。 /sys/class/gpio/export 文件用于通知系统需要导出控制的 GPIO 引脚编号。...SHELL 控制 上面的讲解中,即时通过 shell 的方式控制 GPIO,这里将所有的命令集合下: # 进入GPIO目录 cd /sys/class/gpio # 使用ls查看gpio目录中的内容 ls

    4.3K11

    脉冲压缩处理

    脉冲压缩指雷达在发射时采用宽脉冲信号,接收和处理回波后输出窄脉冲。脉冲压缩技术是匹配滤波理论和相关接收理论的一个很好的实际应用。...很好地解决了这样的一个问题:在发射端发射大时宽、带宽信号,以提高信号的发射能量,而在接收端,将宽脉冲信号压缩为窄脉冲,以提高雷达对目标的距离分辨精度和距离分辨力。...脉冲压缩的DSP处理方法有时域相关或频域相乘。对于点数较多的回波信号,采用频域相乘方法可以获得较快的运算速度。频域脉冲压缩的原图如下图所示。 ?...图3 匹配滤波的输出信号 如上图,当πBt=±π时,t=±1/B为其第一零点坐标;当πBt=±π/2时,t=±1/(2B),习惯上,将此时的脉冲宽度定义为压缩脉冲宽度。 ?...LFM信号的压缩前脉冲宽度T和压缩后的脉冲宽度之比通常称为压缩比D, ? 上式表明,压缩比也就是LFM信号的时宽频宽积。

    2.8K51

    LabVIEW脉冲检测实现

    前言 本节通过 labview 软件实现先导脉冲检测的功能,从而获取先导脉冲的频率、先导脉冲与线性调频信号的延时的相关信息。...计算信号功率,即将每个点的数据进行平方求和,当该值超过阈值时,判定有先导脉冲信号。 当判定有先导脉冲后,显示出该先导脉冲的相关信息。...二、代码实现 这里我们使用上文中所讲到的 “LabVIEW仿真单频脉冲信号+线性调频信号+高斯白噪声信号” 作为输入信号,基于此信号,我们进行脉冲检测,检测先导脉冲的频率以及先导脉冲和线性调频信号之间的延时...1、前面板 ①、输入波形相关参数 ②、脉冲检测结果 从运行结果可以看到,我们检测到了先导脉冲的频率为 1000 Hz,检测到的先导脉冲与线性调频信号的延时为 1 s。...三、代码自取 CSDN 链接:脉冲检测 结论 我们通过预设先导脉冲信息里面的数据,通过前面讲到的脉冲检测的原理,可以检测到先导脉冲,并将其中的频率及与线性调频信号之间的延迟信息获取出来。

    59330

    GPIO模拟串口

    这时我们可以考虑用GPIO去模拟,如何具体实现呢? 首选我们需要了解串口的传输协议, UART使用异步模式工作,不需要时钟信号,其一般格式为:起始位+数据位+校验位+停止位。...0x23,二进制表示为00100011,传输顺序为1->1->0->0->0->1->0->0 掌握清楚这个时序那么也就好用GPIO模拟了,除了需要两个GPIO,还需要两个定时器(分别用于接收和发送时序控制...1) 对于接收,当RX引脚检测到下降沿时,进入GPIO中断,然后开启一个定时器,第一次定时器周期设置为1/波特率的一半(目的是为了在中心处判断是否为低电平,以表示是否为起始位),再之后就可以设置定时器周期为...以下是对程序的简单说明: 1)gpio_uart_demo_init() 里可以配置UART的相关参数,如波特率,奇偶校验,数据位长度 2)void gpio_uart_read(uint8_t *bufptr...4)移植到其他不同平台非常容易,只需要修改下GPIO和定时器配置即可。

    3.3K20

    树莓派基础实验2:RGB-LED实验

    脉冲宽度调制(PWM)是一种通过数字方式获取模拟结果的技术。数字控制用于创建方波,信号在高电平和低电平之间切换。...“有效”的持续时间称为脉冲宽度。要获得不同的模拟值,可以更改或调制脉冲宽度。如果你使用的LED重复此开关模式足够快,结果好像信号是0到5V之间的稳定电压,控制LED的亮度。 ?.../usr/bin/env python #告诉Linux本文件是一个Python程序 import RPi.GPIO as GPIO #导入控制GPIO的模块,RPi.GPIO import...占空比:指一串理想脉冲序列中,正脉冲的持续时间与脉冲总周期的比值。调整led通过电流和不通过电流的时间比来控制的,由于人眼有视觉暂留特性,所以只要频率比较高是看不出来闪烁的。...现在一切都明了了:脉冲宽度调制,这个宽,不是物体的宽度,而是高电平(有效电平)信号在一个调制周期中持续时间长短,它可以用占空比去衡量,占空比越大,脉冲宽度越宽。取值范围为0到100。

    3.4K42

    Linux驱动实践:如何编写【 GPIO 】设备的驱动程序?

    目录 示例程序目标 编写驱动程序 编写应用程序 卸载驱动模块 在前几篇文章中,我们一块讨论了:在 Linux 系统中,编写字符设备驱动程序的基本框架,主要是从代码流程和 API 函数这两方面触发。...编写驱动程序 以下所有操作的工作目录,都是与上一篇文章相同的,即:~/tmp/linux-4.15/drivers/。...文件的内容如下(不需要手敲,文末有代码下载链接): #include linux/module.h> #include linux/kernel.h> #include linux/ctype.h...> #include linux/device.h> #include linux/cdev.h> // GPIO 硬件相关宏定义 #define MYGPIO_HW_ENABLE // 设备名称...从代码中可以看出:驱动程序使用 alloc_chrdev_region 函数,来动态注册设备号,并且利用了 Linux 应用层中的 udev 服务,自动在 /dev 目录下创建了设备节点。

    6.4K30

    树莓派基础实验1:双色LED灯实验

    将树莓派通过T型转接板连接到面包板,树莓派GPIO 11即T型转接板GPIO 17,“红白线”连接双色LED模块R端子;树莓派GPIO 12 即T型转接板GPIO 18,“绿白线”连接双色LED模块G端子.../usr/bin/env python #告诉Linux本文件是一个Python程序 import RPi.GPIO as GPIO #导入控制GPIO的模块,RPi.GPIO import...for i in pins: GPIO.setup(pins[i], GPIO.OUT) # 设置针脚模式为输出(或者输入GPIO.IN) GPIO.output(pins[i],...占空比:指一串理想脉冲序列中,正脉冲的持续时间与脉冲总周期的比值。调整led通过电流和不通过电流的时间比来控制的,由于人眼有视觉暂留特性,所以只要频率比较高是看不出来闪烁的。...现在一切都明了了:脉冲宽度调制,这个宽,不是物体的宽度,而是高电平(有效电平)信号在一个调制周期中持续时间长短,它可以用占空比去衡量,占空比越大,脉冲宽度越宽。取值范围为0到100。

    4.3K20
    领券