自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 资源 (14)
  • 收藏
  • 关注

原创 CUDA算法:统计直方图(以及优化加速)

直方图是用来统计像素灰度值分布的一种方法,同理也可以统计RGB色素的分布。调整图像的对比度则需要直方图分布概率,才能进行灰度变换。对于CUDA来说,可以并行读取多个像素点的值,然后进行统计,但是统计过程则是串行的。这里需要使用CUDA串行指令“原子操作”。核函数:__global__ void cudaMatHistogram(CudaImg8Mat *cudaMat, unsign...

2019-04-17 17:27:07 3842

原创 CUDA算法:矩阵转置(及其加速优化)

矩阵的转置就是对角的元素交换位置:定义A的转置为这样一个n×m阶矩阵B,满足B=b(j,i),即 a(i,j)=b (j,i)(B的第i行第j列元素是A的第j行第i列元素),记A'=B。由于该算法数据之间没有依赖关系,很适合使用cuda进行并行加速运算。核函数:__global__ void cudaMatTrans(CudaImg8Mat *cudaMatA, CudaImg8Ma...

2019-04-17 16:03:24 3370

原创 CUDA算法:矩阵相乘(含C语言代码和OPENMP)

CUDA是基于nvidia的显卡SDK一门并行编程技术。做矩阵相乘自然是“得心应手”。设A为的矩阵,B为的矩阵,那么称的矩阵C为矩阵A与B的乘积,记作。C/CPP串行实现代码:int Matrix::MatMulti(Mat &MatA, Mat &MatB, Mat &MatC){ if(MatA.col!=MatB.row) ...

2019-04-15 13:51:44 1288

原创 CUDA 算法之 奇偶排序

我们常用的排序算法基本上都是单线程的,要在CUDA运用并行进行排序,就需要新的排序算法。这篇就介绍CUDA适用的排序方法:奇偶排序(odd even sort),它是基于“老朋友”冒泡排序衍生出来的算法。算法示意图CUDA的算法复杂度:O(n),稳定排序由于每个“小块”进行交换的时候都是互不相关的,所以使用CUDA进行并行计算非常合适。CUDA代码实现核函数:__gl...

2019-04-12 09:34:16 2679 2

原创 Janel: Java Native 的运行器

最近使用Java编写了一个串口上位机,里面使用了 RXTX jar 这个扩展包,其中还包含了rxtxParallel.dll和rxtxSerial.dll两个动态链接库,博主使用的是IntleliJ的Artifacts打包的jar,运行的时候会出现找不到运行库的问题。后面再RXTX的wiki找到了一个利器:Janel,可帮助你的jar再windows系统下运行的时候连接dll。项目

2017-08-08 12:57:33 841

原创 stm8s开发(九) EEPROM的使用:使用EEPROM存储数据!

EEPROM是单片机应用系统中经常会用到的存储器,它主要用来保存一些掉电后需要保持不变的数据。在以前的单片机系统中,通常都是在单片机外面再扩充一个EEPROM芯片,这种方法除了增加成本外,也降低了可靠性。现在,很多单片机的公司都推出了集成有小容量EEPROM的单片机,这样就方便了使用,降低了成本,提高了可靠性。STM8单片机芯片内部也集成有EEPROM,容量从640字节到2K字节。最为特色的是

2017-07-12 23:53:02 10320 1

原创 stm8s开发(八) IIC的使用:IIC主机通信!

前面讲过两个常用的串口,UART和SPI,这次这次讲解一下另一个常用的串口:IIC通信科普I2C:一般有两根信号线,一根是双向的数据线SDA,另一根是时钟线SCL。所有接到I2C总线设备上的串行数据SDA都接到总线的SDA上,各设备的时钟线SCL接到总线的SCL上。

2017-07-09 11:16:26 3829 1

原创 stm8s开发(七) SPI的使用:SPI主机通信!

前几篇介绍过UART串口,地址:http://blog.csdn.net/devintt/article/details/52512457这次讲解一下另一个常用的串口:SPI通信科普SPI:是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,分别是:SCK(时钟)、MOSI(主机发送数据)、MISO(主机接收数据)、NSS(片选),其中NSS的片选信号,大部分情况下我

2017-07-08 12:51:32 5451

原创 使用 matlab 心电数据捕获心率

心电数据采集到了,如何计算心率成了一个问题,不过这个问题很早就有人解决了,但是网上能查找到的资料少之又少,代码也很少公开。这里博主就提供一个使用matlab程序计算心率的方法,只是提供了一个简单的思路和程序,此方法和程序里面的参数可能只适合博主自己做的心电器,未必适合其他心电数据,具体情况具体分析,欢迎大家来讨论。

2017-06-23 10:56:33 25291 31

原创 树莓派使用上spi tft!(fbtft的使用)

关于树莓派的视频输出除了HDMI和 VNC基本上没有其他的方法,如果你手上刚好有一块TFT模块的话就可以当做系统显示屏(framebuff),虽然只有小小的几个像素点,但足以满足需求。

2017-05-31 11:38:13 15301

原创 AFE4400的使用

随着人们越来越重视医疗健康,相对应的产品也随之推出。TI就很好的走在前面,对于生理信号采集方面不仅推出了ADS124x系列和ADS129x系列,也推出了集成了光传感器AFE系列。AFE4400 是一款非常适合于脉冲血氧仪应用的完全集成模拟前端 (AFE)。 此器件包含一个具有集成模数转换器 (ADC) 的低噪声接收器通道、一个 LED 发射部件和针对传感器以及 LED 故障检测的诊断功能。

2017-05-23 16:30:50 10166 39

原创 ADS1292R的使用

随着人们越来越重视医疗健康,相对应的产品也随之推出。TI的计划就很好的走在前面,对于生理电采集方面相继推出了ADS124x系列和ADS129x系列。这篇博文主要介绍ADS1292R这片芯片是如何使用的,可以方便的采集到心电和呼吸信号。同理ADS1291和ADS1292也可以参考此设计。ADS1292R具有特性:1、两个低噪声可编程增益放大器器(PGA)和和两个高分别率模数转换器器(

2017-05-23 11:45:31 44770 116

原创 stm32l4低功耗模式 笔记

Stm32l4xx支持7种低功耗 睡眠模式(sleep):CPU停止工作,所有外设(peripheral)仍可以工作,使用中断(interrupt)或者事件(event)进行CPU唤醒。 低功耗运行模式(Low-power run):使用最低电压进行提供内核电压(VCORE),代码可以在SRAM和FLASH里面进行运行,CPU运行频率限制在2MHz,外设(periphera

2017-05-19 22:38:06 12517

原创 stm8s开发(六) EXIT的使用:做一个外部中断的按钮!

在前几篇文章,GPIO的使用:点亮LED!http://blog.csdn.net/devintt/article/details/50818494 中只讲述了IO口的输出,并没有输入,因为IO作为输入我建议采用中断方式,可以大大减轻CPU的运行时间。

2016-09-16 23:44:35 14142 1

原创 stm8s开发(五) TIMER的使用:定时!

STM8S提供三种类型的TIM 定时器:高级控制型(TIM1)、通用型(TIM2/TIM3/TIM5)和基本型定时器(TIM4/TIM6)。它们虽有不同功能但都基于共同的架构。此共同的架构使得采用各个定时器来设计应用变得非常容易与方便(相同的寄存器映射,相同的基本功能)。使用定时可以确定一个时间片,方便控制发送速率,采样速率,等等一些对时间要求比较高的任务,而这些操作可以放入定

2016-09-14 13:02:00 10968

原创 stm8s开发(四) CLOCK的使用:时钟控制!

STM8S具有一个强大的时钟系统,内部提供一个高速16M的RC振荡器,和一个低速128K的RC振荡器。时钟控制器功能强大而且灵活易用。其目的在于使用户在获得最好性能的同时,亦能保证消耗的功率最低。用户可独立地管理各个时钟源,并将它们分配到CPU或各个外设。主时钟和CPU时钟均带有预分频器。具有安全可靠的无故障时钟切换机制,可在程序运行中将主时钟从一个时钟源切换到另一个时钟源。一般来

2016-09-13 23:42:54 4867

原创 stm8s开发(三) UART的使用:串口通信!

串口通信是单片机学习的一个最基本、最重要的功能之一。串口通信可以间接的当做调试接口使用,实现单片机与电脑之间的通信。当然可以与一些模块(比如蓝牙、wifi)通信,也可以作为和其他单片机通信的工具。STM8S的通用异步收发器(UART)主要特性:●  全双工的,异步通信●  可编程数据字长度(8位或9位) ●  可配置的停止位-支持1或2个停止位一般的,我们使用串

2016-09-12 13:05:58 32631

原创 stm8s开发(二) GPIO的使用:点亮LED!

通用输入输出口(GPIO)是我们使用单片机最基本的,主要功能:● 端口的各个位可以被单独配置● 可选择的输入模式:浮动输入和带上拉输入● 可选择的输出模式:推挽式输出和开漏输出● 外部中断可以单独使能和关闭用户手册上描述:每一个端口都有一个输出数据寄存器(ODR),一个引脚输入寄存器(IDR)和一个数据方向寄存器(DDR) 总是同相关的。控制寄存器1(CR1)和控制

2016-09-11 23:47:46 8840 1

原创 stm8s开发(一) 使用IAR新建工程

附上stm8s在IAR环境下的项目工程,包括了SPI、IIC、PWM、AWU、USART、EEPROM等片上硬件的初始化代码。http://download.csdn.net/detail/devintt/9454188新建工程是第一步!a)创建一个 Workspace首先,创建一个workspace。选择菜单File>New>Workspaceb)

2016-03-07 00:37:25 8116 2

原创 STM32f103的触摸屏的设置与使用

多功能采集显示平台的人机交互采用的触屏方案。        触屏功能主要是依赖电阻触摸屏的主要部分是一块与显示器表面非常配合的电阻薄膜屏,这是一种多层的复合薄膜,它以一层玻璃或硬塑料平板作为基层,表面涂有一层透明氧化金属(透明的导电电阻)导电层,上面再盖有一层外表面硬化处理、光滑防擦的塑料层、它的内表面也涂有一层涂层、在他们之间有许多细小的(小于 1/1000 英寸)的透明隔离点把两层导电层隔

2015-07-23 15:15:05 12373

原创 STM32f103的电阻触摸屏的五点校正算法

由于电阻式触摸屏就是一种传感器,它利用压力感应进行控制,将矩形区域中触摸点(X,Y)的物理位置转换为代表 X坐标和 Y 坐标的电压。这里先引入两个概念,物理坐标和逻辑坐标。物理坐标指触摸屏上点的实际位置,通常以液晶上点的个数来度量。逻辑坐标指这点被触摸时A/D 转换后的坐标值。如图1,我们假定液晶最左下角为坐标轴原点A ,在液晶上任取一点B (十字线交叉中心),B 在X 方向距离A 10 个点,在

2015-07-23 15:14:11 11219 5

原创 STM32f103的TFTLCD和FSMC的使用

多功能采集显示平台将通过 STM32 的 FSMC 接口来控制 TFTLCD 的显示,所以本节分为两个部分,分别介绍 TFTLCD 和 FSMC。TFT -LCD 即薄膜晶体管液晶显示器。其英文全称为:Thin  Film  Transistor-Liquid Crystal Display。TFT - LCD 与无源 TN - LCD、STN - LCD 的简单矩阵不同,它在液晶显示屏的每一

2015-07-23 10:29:27 13764

原创 STM32f103的数电采集电路的双ADC的设计与使用

STM32F103C8T6拥有3个ADC,其独立使用已经在本文的3.1.3里面有详细的介绍,这里主要是介绍双ADC的同时使用,即STM32的同步规则模式使用。在此模式在规则通道组上执行时,外部触发来自ADC1的规则组多路开关(由ADC1_CR2寄存器的EXTSEL[2:0]选择),它同时给ADC2提供同步触发。此功能必须使用DMA通道。同时两组数据是公用一个寄存器,ADC1数据在低16位,ADC2

2015-07-22 20:28:42 14827 4

原创 STM32f103的数电采集电路的TIMER定时器的使用与时序控制的程序

STM32 的通用定时器是一个通过可编程预分频器(PSC)驱动的 16 位自动装载计数器(CNT)构成。STM32 的通用定时器可以被用于:测量输入信号的脉冲长度(输入捕获)或者产生输出波形(输出比较和 PWM)等。使用定时器预分频器和 RCC 时钟控制器预分频器,脉冲长度和波形周期可以在几个微秒到几个毫秒间调整。 STM32 的每个通用定时器都是完全独立的,没有互相共享的任何资源。通用定时器

2015-07-22 14:45:15 3692

原创 STM32f103的数电采集电路的USART的使用与蓝牙的连接的程序

STM32 的串口资源相当丰富的,功能也相当强劲。本项目所使用的 STM32F103C8T6 最多可提供 3 路串口,有分数波特率发生器、支持同步单线通信和半双工单线通讯、支持 LIN、 支持调制解调器操作、 智能卡协议和 IrDA SIR ENDEC 规范、具有 DMA等。串口设置的一般步骤可以总结为如下几个步骤:1.串口时钟使能,GPIO 时钟使能2.串口复位3.GPIO 端口

2015-07-22 09:36:31 11053 7

原创 STM32f103的数电采集电路的DMA设计和使用优化程序

DMA,全称为:Direct Memory Access,即直接存储器访问。DMA传输方式无需CPU直接控制传输,也没有中断处理方式那样保留现场和恢复现场的过程,通过硬件为RAM与I/O设备开辟一条直接传送数据的通路,能使CPU的效率大为提高。DMA设置的一般步骤可以总结为如下几个步骤:1.DMA时钟使能2.DMA设置复位3.设置DMA基地址,内存地址,输出方向参数4.设置DM

2015-07-22 09:26:41 3004

原创 STM32f103的数电采集电路的ADC多通道采集程序

STM32拥有1~3个ADC(STM32F101/102 系列只有1个ADC),这些ADC可以独立使用,也可以使用双重模式(提高采样率)。STM32 的ADC是12位逐次逼近型的模拟数字转换器。它有18个通道,可测量16个外部和2个内部信号源。各通道的 A/D 转换可以单次、连续、扫描或间断模式执行。ADC的结果可以左对齐或右对齐方式存储在16位数据寄存器中。ADC模数转换设置的一般步骤可以总

2015-07-22 09:16:07 28831 1

原创 心电前端采集模块——AD8323功能与电路

AD8232是全集成式单导联ECG前端,其中集成了仪表放大器、增益放大器、基准电压缓冲、驱动导联前端基准缓冲、右腿驱动电路、关断功能,以及用户可选的(交流或直流)导联脱落检测电路。AD8232解决了从电极到处理器之间的很多问题,整个外围电路简单,只需要几个电阻电容器件即可完成前端电路设计,利用ADI提供的计算公式就可以轻松恰当设置这些电阻电容的参数值。选用AD8232的原因是单芯片的模拟信号链前端

2015-07-22 00:03:53 27468 12

转载 树莓派 小型服务器的搭建

Raspberry Pi 服务器使用的RASPBIAN系统,Linux内核是3.18,服务器方案为 nginx + php + sqlite,以下是环境配置步骤:1 安装nginx  web服务器 (约6MB)sudo apt-get install nginx2 启动nginxsudo /etc/init.d/nginx start(nginx的www根目录默认在 /usr/

2015-07-21 23:39:28 2212

原创 基于树莓派和安卓客户端的移动监控系统

接触树莓派已经有2周了,在linux发现了好多很不错的工具,其中mjpg-stream和phddns还有libcv什么的,都是很不错的工具。加上我会一点点安卓移动端的开发,所以结合一下自己掌握的技术,实现一个基于树莓派和安卓的监控系统。为了方便大家学习,工程代码已经上传:http://download.csdn.net/detail/devintt/8447193本文均为原创,转载请注明出

2015-02-17 10:20:44 6325 2

原创 树莓派使用Nokia5110显示屏

第一次接触linux,小派到手72h,迫不及待的试试自己移植5110显示屏,我参考的教程和原始代码在http://arduinoking.com/forum.php?mod=viewthread&tid=817&page=1&extra=#pid846(很详细的教程)这里说说详细教程:1.先安装wiring pi.cd ~git clone git://git.drogon

2015-01-25 17:48:36 4804

原创 几个超级酷炫的Android UI的eclipse版本

原git是一堆超级酷炫的UI的集合https://github.com/wasabeef/awesome-android-ui但是上面的项目绝大部分是Android Studio的,对于像我这种用惯eclipse的导入项目时候的依赖包实在弄得我有点头疼我挑了几个最近需要的,干脆移植到eclipse上了,现在分享一些出来,之后有时间会继续更新。我不是技术的

2015-01-25 16:49:45 2275 2

原创 基于单片机蓝牙通信的安卓上位机应用

安卓设备一般都配备了蓝牙模块,我们可以使用蓝牙模块和一些外设进行数据交换,并且在安卓设备上处理和显示出来。 蓝牙编程:主要使用到系统提供的BroadcastReceiver使得我们可以对蓝牙模块接收到的数据进行广播接收。蓝牙操作第一步就是检查蓝牙状态和打开蓝牙设备

2014-10-05 00:53:24 4653 2

原创 基于STM8的ADC0832采集及蓝牙通信系统

最近在淘宝逛的时候发现了一款单片机,STM8。相比之前一直使用的也是8位的AVR相比,感觉STM8更为强大,芯片特点如下:内核:具有3级流水线的哈佛结构、扩展指令集程序存储器:8K字节Flash;RAM:1K字节数据存储器:640 字节真正的数据EEPROM;可达30万次擦写更重要的一点就是STM8系列若使用库编程的话,可以方便的不同芯片的程序移植。甚至可以方便的移植到STM32上

2014-10-05 00:36:42 5122 1

原创 基于Android系统的计步器开发与算法研究

(张优劲、罗福亚、石振辉)电子科技大学 生命科学与技术学院、生物医学工程摘要:利用安卓手机自带的加速度传感器来采集人体运动的加速度信号,去除噪声和坏值。建立数学模型,对模型进行验证,然后获得判据。最后再由Android手机软件实现对信号的全部处理,实现计步功能。关键词:android计步器;加速度信号处理;数字滤波

2014-08-28 10:16:52 4813 2

原创 Android http 通信

HTTP通信分两种形式:GET,POST GET:优点:只需要在URL设置参数就可以进行对服务器的访问,比较方便。缺点:但是传输的参数不得大于2kb,而且参数公开可查看。 POST:优点:传输参数可大于2kb,参数不可查看,相对安全。缺点:需要用List进行打包。 使用的是安卓sdk自带的org.apache.http包 注意:安卓2.3版本开始

2014-08-28 09:59:00 1731

janel-4.1.1

Janel: Java Native Executable / Launcher.可帮助你的jar在windows系统下运行的时候连接dll。

2017-08-08

ADS1292R驱动

ADS1292R驱动,驱动初始化部分与平台无关,方便移植,使用STM32L4驱动。

2017-05-23

stm8s_demo

stm8s在IAR环境下的项目工程,包括了SPI、IIC、PWM、AWU、USART、EEPROM等片上硬件的初始化代码。

2016-03-07

ili9325显示屏函数

ili9325 TFT LCD的初始化代码,使用FSMC进行配置,相比通过IO口经行控制更快,经过简单测试,使用IO口控制的LCD的刷新频率大概可以达到14帧一秒,使用FSMC的控制的LCD的刷新频率大概可以达到28帧一秒,效率足足提升了100%。 函数包括了画线,画图,画圆等一些常用功能函数

2015-07-23

Slidr美化UI

超级酷炫的AndroidUI 原git是as版本,这是个eclipse版本,无依赖包

2015-01-26

PiMiniMoniter

使用Nokia5110在树莓派上面做一个显示,读取温度cpu使用率,RAM剩余,开机时间,cpu温度,wlan0的IP地址。这个项目需要先安装wiring pi.

2015-01-25

Context-Menu

超级酷炫的AndroidUI 原git是as版本,这是个eclipse版本,无依赖包

2015-01-25

SeekBar UI

超酷炫的Android seekbar的设计,eclipse版本 原git : https://github.com/AnderWeb/discreteSeekBar

2015-01-25

ExpandLayout for eclipse

git:https://github.com/traex/ExpandableLayout

2015-01-25

ChartUI for eclipse

Android Graph UI 超级酷炫的图标UI

2015-01-25

android HTTP接口测试软件

一个android HTTP接口测试小软件,可以GET和POST,参数可以动态添加删除,结果自动格式化json,里面也有GET图片的代码,但功能还没加上去。

2014-10-12

android蓝牙上位机

android蓝牙上位机,用于接收单片机串口发送的数据,并画图显示。还有GPS定位。

2014-10-12

STM8 ADC0832

一个STM8项目,可控制ADC0832采样,里面包括自制的ADC0832的函数库,使用了串口通信。工程导入就能用。使用STM库编程,方便移植。

2014-10-12

空空如也

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

TA关注的人

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