<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[DevinTT的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/DevinTT</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; DevinTT]]></copyright><item><title><![CDATA[CUDA算法：统计直方图（以及优化加速）]]></title><link>https://blog.youkuaiyun.com/DevinTT/article/details/89359696</link><guid>https://blog.youkuaiyun.com/DevinTT/article/details/89359696</guid><author>DevinTT</author><pubDate>Wed, 17 Apr 2019 17:27:07 +0800</pubDate><description><![CDATA[直方图是用来统计像素灰度值分布的一种方法，同理也可以统计RGB色素的分布。调整图像的对比度则需要直方图分布概率，才能进行灰度变换。

对于CUDA来说，可以并行读取多个像素点的值，然后进行统计，但是统计过程则是串行的。这里需要使用CUDA串行指令“原子操作”。

核函数：


__global__ void cudaMatHistogram(CudaImg8Mat *cudaMat, unsign...]]></description><category></category></item><item><title><![CDATA[CUDA算法：矩阵转置（及其加速优化）]]></title><link>https://blog.youkuaiyun.com/DevinTT/article/details/89356545</link><guid>https://blog.youkuaiyun.com/DevinTT/article/details/89356545</guid><author>DevinTT</author><pubDate>Wed, 17 Apr 2019 16:03:24 +0800</pubDate><description><![CDATA[矩阵的转置就是对角的元素交换位置：定义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...]]></description><category></category></item><item><title><![CDATA[CUDA算法:矩阵相乘（含C语言代码和OPENMP）]]></title><link>https://blog.youkuaiyun.com/DevinTT/article/details/89308015</link><guid>https://blog.youkuaiyun.com/DevinTT/article/details/89308015</guid><author>DevinTT</author><pubDate>Mon, 15 Apr 2019 13:51:44 +0800</pubDate><description><![CDATA[CUDA是基于nvidia的显卡SDK一门并行编程技术。做矩阵相乘自然是“得心应手”。

设A为的矩阵，B为的矩阵，那么称的矩阵C为矩阵A与B的乘积，记作。



C/CPP串行实现代码：


int Matrix::MatMulti(Mat &amp;MatA, Mat &amp;MatB, Mat &amp;MatC){

    if(MatA.col!=MatB.row)
 ...]]></description><category></category></item><item><title><![CDATA[CUDA 算法之 奇偶排序]]></title><link>https://blog.youkuaiyun.com/DevinTT/article/details/89212332</link><guid>https://blog.youkuaiyun.com/DevinTT/article/details/89212332</guid><author>DevinTT</author><pubDate>Fri, 12 Apr 2019 09:34:16 +0800</pubDate><description><![CDATA[我们常用的排序算法基本上都是单线程的，要在CUDA运用并行进行排序，就需要新的排序算法。这篇就介绍CUDA适用的排序方法：奇偶排序（odd even sort），它是基于“老朋友”冒泡排序衍生出来的算法。

算法示意图



CUDA的算法复杂度：O(n),稳定排序

由于每个“小块”进行交换的时候都是互不相关的，所以使用CUDA进行并行计算非常合适。

CUDA代码实现

核函数：


__gl...]]></description><category></category></item><item><title><![CDATA[Janel: Java Native 的运行器]]></title><link>https://blog.youkuaiyun.com/DevinTT/article/details/76832745</link><guid>https://blog.youkuaiyun.com/DevinTT/article/details/76832745</guid><author>DevinTT</author><pubDate>Tue, 08 Aug 2017 12:57:33 +0800</pubDate><description><![CDATA[最近使用Java编写了一个串口上位机，里面使用了 RXTX jar 这个扩展包，其中还包含了rxtxParallel.dll和rxtxSerial.dll两个动态链接库，博主使用的是IntleliJ的Artifacts打包的jar，运行的时候会出现找不到运行库的问题。后面再RXTX的wiki找到了一个利器：Janel，可帮助你的jar再windows系统下运行的时候连接dll。



项目]]></description><category></category></item><item><title><![CDATA[stm8s开发（九） EEPROM的使用：使用EEPROM存储数据！]]></title><link>https://blog.youkuaiyun.com/DevinTT/article/details/75000521</link><guid>https://blog.youkuaiyun.com/DevinTT/article/details/75000521</guid><author>DevinTT</author><pubDate>Wed, 12 Jul 2017 23:53:02 +0800</pubDate><description><![CDATA[EEPROM是单片机应用系统中经常会用到的存储器，它主要用来保存一些掉电后需要保持不变的数据。在以前的单片机系统中，通常都是在单片机外面再扩充一个EEPROM芯片，这种方法除了增加成本外，也降低了可靠性。现在，很多单片机的公司都推出了集成有小容量EEPROM的单片机，这样就方便了使用，降低了成本，提高了可靠性。
STM8单片机芯片内部也集成有EEPROM，容量从640字节到2K字节。最为特色的是]]></description><category></category></item><item><title><![CDATA[stm8s开发（八） IIC的使用：IIC主机通信！]]></title><link>https://blog.youkuaiyun.com/DevinTT/article/details/74854851</link><guid>https://blog.youkuaiyun.com/DevinTT/article/details/74854851</guid><author>DevinTT</author><pubDate>Sun, 09 Jul 2017 11:16:26 +0800</pubDate><description><![CDATA[前面讲过两个常用的串口，UART和SPI，这次这次讲解一下另一个常用的串口：IIC通信


科普I2C：一般有两根信号线，一根是双向的数据线SDA，另一根是时钟线SCL。所有接到I2C总线设备上的串行数据SDA都接到总线的SDA上，各设备的时钟线SCL接到总线的SCL上。]]></description><category></category></item><item><title><![CDATA[stm8s开发（七） SPI的使用：SPI主机通信！]]></title><link>https://blog.youkuaiyun.com/DevinTT/article/details/74620119</link><guid>https://blog.youkuaiyun.com/DevinTT/article/details/74620119</guid><author>DevinTT</author><pubDate>Sat, 08 Jul 2017 12:51:32 +0800</pubDate><description><![CDATA[前几篇介绍过UART串口，地址：http://blog.youkuaiyun.com/devintt/article/details/52512457
这次讲解一下另一个常用的串口：SPI通信

科普SPI：是一种高速的，全双工，同步的通信总线，并且在芯片的管脚上只占用四根线，分别是：SCK（时钟）、MOSI（主机发送数据）、MISO（主机接收数据）、NSS（片选），其中NSS的片选信号，大部分情况下我]]></description><category></category></item><item><title><![CDATA[使用 matlab 心电数据捕获心率]]></title><link>https://blog.youkuaiyun.com/DevinTT/article/details/73610569</link><guid>https://blog.youkuaiyun.com/DevinTT/article/details/73610569</guid><author>DevinTT</author><pubDate>Fri, 23 Jun 2017 10:56:33 +0800</pubDate><description><![CDATA[心电数据采集到了，如何计算心率成了一个问题，不过这个问题很早就有人解决了，但是网上能查找到的资料少之又少，代码也很少公开。这里博主就提供一个使用matlab程序计算心率的方法，只是提供了一个简单的思路和程序，此方法和程序里面的参数可能只适合博主自己做的心电器，未必适合其他心电数据，具体情况具体分析，欢迎大家来讨论。]]></description><category></category></item><item><title><![CDATA[树莓派使用上spi tft！（fbtft的使用）]]></title><link>https://blog.youkuaiyun.com/DevinTT/article/details/72814539</link><guid>https://blog.youkuaiyun.com/DevinTT/article/details/72814539</guid><author>DevinTT</author><pubDate>Wed, 31 May 2017 11:38:13 +0800</pubDate><description><![CDATA[关于树莓派的视频输出除了HDMI和 VNC基本上没有其他的方法，如果你手上刚好有一块TFT模块的话就可以当做系统显示屏（framebuff）,虽然只有小小的几个像素点，但足以满足需求。]]></description><category></category></item><item><title><![CDATA[AFE4400的使用]]></title><link>https://blog.youkuaiyun.com/DevinTT/article/details/72639993</link><guid>https://blog.youkuaiyun.com/DevinTT/article/details/72639993</guid><author>DevinTT</author><pubDate>Tue, 23 May 2017 16:30:50 +0800</pubDate><description><![CDATA[随着人们越来越重视医疗健康，相对应的产品也随之推出。TI就很好的走在前面，对于生理信号采集方面不仅推出了ADS124x系列和ADS129x系列，也推出了集成了光传感器AFE系列。
AFE4400 是一款非常适合于脉冲血氧仪应用的完全集成模拟前端 (AFE)。 此器件包含一个具有集成模数转换器 (ADC) 的低噪声接收器通道、一个 LED 发射部件和针对传感器以及 LED 故障检测的诊断功能。]]></description><category></category></item><item><title><![CDATA[ADS1292R的使用]]></title><link>https://blog.youkuaiyun.com/DevinTT/article/details/72636642</link><guid>https://blog.youkuaiyun.com/DevinTT/article/details/72636642</guid><author>DevinTT</author><pubDate>Tue, 23 May 2017 11:45:31 +0800</pubDate><description><![CDATA[随着人们越来越重视医疗健康，相对应的产品也随之推出。TI的计划就很好的走在前面，对于生理电采集方面相继推出了ADS124x系列和ADS129x系列。
这篇博文主要介绍ADS1292R这片芯片是如何使用的，可以方便的采集到心电和呼吸信号。同理ADS1291和ADS1292也可以参考此设计。

ADS1292R具有特性：
1、两个低噪声可编程增益放大器器(PGA)和和两个高分别率模数转换器器(]]></description><category></category></item><item><title><![CDATA[stm32l4低功耗模式 笔记]]></title><link>https://blog.youkuaiyun.com/DevinTT/article/details/72566622</link><guid>https://blog.youkuaiyun.com/DevinTT/article/details/72566622</guid><author>DevinTT</author><pubDate>Fri, 19 May 2017 22:38:06 +0800</pubDate><description><![CDATA[Stm32l4xx支持7种低功耗
 
睡眠模式（sleep）：
CPU停止工作，所有外设（peripheral）仍可以工作，使用中断（interrupt）或者事件（event）进行CPU唤醒。
 
低功耗运行模式（Low-power run）：
使用最低电压进行提供内核电压（VCORE），代码可以在SRAM和FLASH里面进行运行，CPU运行频率限制在2MHz，外设（periphera]]></description><category></category></item><item><title><![CDATA[stm8s开发（六） EXIT的使用：做一个外部中断的按钮！]]></title><link>https://blog.youkuaiyun.com/DevinTT/article/details/52550023</link><guid>https://blog.youkuaiyun.com/DevinTT/article/details/52550023</guid><author>DevinTT</author><pubDate>Fri, 16 Sep 2016 23:44:35 +0800</pubDate><description><![CDATA[在前几篇文章，GPIO的使用：点亮LED！http://blog.youkuaiyun.com/devintt/article/details/50818494
 中只讲述了IO口的输出，并没有输入，因为IO作为输入我建议采用中断方式，可以大大减轻CPU的运行时间。]]></description><category></category></item><item><title><![CDATA[stm8s开发（五） TIMER的使用：定时！]]></title><link>https://blog.youkuaiyun.com/DevinTT/article/details/52537036</link><guid>https://blog.youkuaiyun.com/DevinTT/article/details/52537036</guid><author>DevinTT</author><pubDate>Wed, 14 Sep 2016 13:02:00 +0800</pubDate><description><![CDATA[STM8S提供三种类型的TIM 定时器：高级控制型(TIM1)、通用型(TIM2/TIM3/TIM5)和基本型定时器(TIM4/TIM6)。它们虽有不同功能但都基于共同的架构。此共同的架构使得采用各个定时器来设计应用变得非常容易与方便(相同的寄存器映射，相同的基本功能)。




使用定时可以确定一个时间片，方便控制发送速率，采样速率，等等一些对时间要求比较高的任务，而这些操作可以放入定]]></description><category></category></item><item><title><![CDATA[stm8s开发（四） CLOCK的使用：时钟控制！]]></title><link>https://blog.youkuaiyun.com/DevinTT/article/details/52518593</link><guid>https://blog.youkuaiyun.com/DevinTT/article/details/52518593</guid><author>DevinTT</author><pubDate>Tue, 13 Sep 2016 23:42:54 +0800</pubDate><description><![CDATA[STM8S具有一个强大的时钟系统，内部提供一个高速16M的RC振荡器，和一个低速128K的RC振荡器。
时钟控制器功能强大而且灵活易用。其目的在于使用户在获得最好性能的同时，亦能保证消耗的功率最低。用户可独立地管理各个时钟源，并将它们分配到CPU或各个外设。主时钟和CPU时钟均带有预分频器。具有安全可靠的无故障时钟切换机制，可在程序运行中将主时钟从一个时钟源切换到另一个时钟源。


一般来]]></description><category></category></item><item><title><![CDATA[stm8s开发（三） UART的使用：串口通信！]]></title><link>https://blog.youkuaiyun.com/DevinTT/article/details/52512457</link><guid>https://blog.youkuaiyun.com/DevinTT/article/details/52512457</guid><author>DevinTT</author><pubDate>Mon, 12 Sep 2016 13:05:58 +0800</pubDate><description><![CDATA[串口通信是单片机学习的一个最基本、最重要的功能之一。串口通信可以间接的当做调试接口使用，实现单片机与电脑之间的通信。当然可以与一些模块（比如蓝牙、wifi）通信，也可以作为和其他单片机通信的工具。


STM8S的通用异步收发器(UART)主要特性：
●  全双工的，异步通信
●  可编程数据字长度(8位或9位) 
●  可配置的停止位-支持1或2个停止位


一般的，我们使用串]]></description><category></category></item><item><title><![CDATA[stm8s开发（二） GPIO的使用：点亮LED！]]></title><link>https://blog.youkuaiyun.com/DevinTT/article/details/50818494</link><guid>https://blog.youkuaiyun.com/DevinTT/article/details/50818494</guid><author>DevinTT</author><pubDate>Sun, 11 Sep 2016 23:47:46 +0800</pubDate><description><![CDATA[通用输入输出口(GPIO)是我们使用单片机最基本的，主要功能：
● 端口的各个位可以被单独配置
● 可选择的输入模式：浮动输入和带上拉输入
● 可选择的输出模式：推挽式输出和开漏输出

● 外部中断可以单独使能和关闭

用户手册上描述：
每一个端口都有一个输出数据寄存器(ODR)，一个引脚输入寄存器(IDR)和一个数据方向寄存器(DDR) 总是同相关的。控制寄存器1(CR1)和控制]]></description><category></category></item><item><title><![CDATA[stm8s开发（一）  使用IAR新建工程]]></title><link>https://blog.youkuaiyun.com/DevinTT/article/details/50816273</link><guid>https://blog.youkuaiyun.com/DevinTT/article/details/50816273</guid><author>DevinTT</author><pubDate>Mon, 07 Mar 2016 00:37:25 +0800</pubDate><description><![CDATA[附上stm8s在IAR环境下的项目工程，包括了SPI、IIC、PWM、AWU、USART、EEPROM等片上硬件的初始化代码。
http://download.youkuaiyun.com/detail/devintt/9454188


新建工程是第一步！
a)
创建一个 
Workspace
首先，创建一个
workspace。选择菜单
File>New>Workspace
b)]]></description><category></category></item><item><title><![CDATA[STM32f103的触摸屏的设置与使用]]></title><link>https://blog.youkuaiyun.com/DevinTT/article/details/47018393</link><guid>https://blog.youkuaiyun.com/DevinTT/article/details/47018393</guid><author>DevinTT</author><pubDate>Thu, 23 Jul 2015 15:15:05 +0800</pubDate><description><![CDATA[多功能采集显示平台的人机交互采用的触屏方案。
        触屏功能主要是依赖电阻触摸屏的主要部分是一块与显示器表面非常配合的电阻薄膜屏，这是一种多层的复合薄膜，它以一层玻璃或硬塑料平板作为基层，表面涂有一层透明氧化金属（透明的导电电阻）导电层，上面再盖有一层外表面硬化处理、光滑防擦的塑料层、它的内表面也涂有一层涂层、在他们之间有许多细小的（小于 1/1000 英寸）的透明隔离点把两层导电层隔]]></description><category></category></item></channel></rss>