08 2017 档案
摘要:一、wiringpi写法 可以使用shell指令查看GPIO对应情况: 官方网站:http://wiringpi.com/ 二、bcm2835 GPIO口配置:http://elinux.org/RPi_Low-level_peripherals bcm2835官网:http://www.airsp
        阅读全文
                
摘要:一、主要参考的内容 px4的开发者手册 https://dev.px4.io/zh/setup/dev_env_linux.html 其中有的shell指令 权限设置 警告:永远不要使用sudo来修复权限问题,否则会带来更多的权限问题,需要重装系统来解决。 把用户添加到用户组 "dialout": 
        阅读全文
                
摘要:一、使用Pen画笔 Pen的主要属性有: Color(颜色),DashCap(短划线终点形状),DashStyle(虚线样式),EndCap(线尾形状), StartCap(线头形状),Width(粗细)等. 我们可以用Pen 来画虚线,带箭头的直线等。 运行后的效果: 二、Bush的使用 画刷的作
        阅读全文
                
摘要:一、建立项目模板 这里的user中重复引用了system_stm32f10x.c Output中选择Create HEXFile,并且可以选择输出路径。 Listing中可以选择输出路径。 然后在C/C++中加入两个宏: STM32F10X_MD,USE_STDPERIPH_DRIVER 并且还要勾
        阅读全文
                
摘要:一、创建一个cmake工程 Qt creator:file->New File or Porject...>>Non-Qt Project>>Plain C Project//或者//Plain C++ Project CMakeLists.txt: 1 cmake_minimum_required
        阅读全文
                
摘要:1 ############################################################################ 2 # 3 # Copyright (c) 2017 PX4 Development Team. All rights reserved. 4 # 5 # Redistribution and use in source...
        阅读全文
                
摘要:一、对话框部分常用内容 颜色对话框、文件对话框、字体对话框、输入对话框、消息对话框、进度对话框、错误对话框、向导对话框。 二、代码部分 main.cpp: ui样子
        阅读全文
                
摘要:一、创建Qt gui应用对应的源码: 点击(此处)折叠或打开 //mylineedit.h #ifndef MYLINEEDIT_H #define MYLINEEDIT_H #include <QWidget> #include <QLineEdit> class MyLineEdit : pub
        阅读全文
                
摘要:一、信号和槽机制 信号和槽用于两个对象之间的通信,我们希望任何对象都可以和其他对象进行通信。 当一个特殊的事情发生时便可以发射一个信号,而槽就是一个函数,它在信号发射后被调用来相应这个信号。(强耦合) 一个信号对应一个槽;一个信号也可以关联多个槽;多个信号关联一个槽;一个信号关联另一个信号。 二、m
        阅读全文
                
摘要:计算溢出时间根据晶振频率4Mhz,TMR0=6,PSA2~PSA0 = 1:4.因为好像外部晶振在给PIC的时候多分了一次1:4。所以PSA2~PSA0取1:4刚好数完250次的时间=(1/4Mhz/4)*4*250 = 1ms,每1ms触发一次T0IF中断。 // FOSC=16MHz ...
        阅读全文
                
摘要:遇到的问题,编译时找不到TRISC。一开始以为头文件中没有定义,发现定义了。所以是自己创建工程的时候,设备类型选错了。 #include __CONFIG(0xFF32); #define uchar unsigned char ...
        阅读全文
                
摘要:一、主函数 //采集AD值 #include #include "ad.h" #include "usart.h" __CONFIG(0xFF32); const uchar dis...
        阅读全文
                
摘要:uorb_main int uorb_main(int argc, char *argv[]) { if (argc get_device_master(uORB::PUBSUB); if (g_dev...
        阅读全文
                
摘要:int mavlink_main(int argc, char *argv[]) { if (argc 3000000) { warnx("invalid baud rate '%s'", myoptarg)...
        阅读全文
                
摘要:学习写hello world配置好cmake环境后创建CMakeLists.txt PROJECT (HELLO) SET(SRC_LIST hello.c) MESSAGE(STATUS "This is BINARY dir " ${HELLO_BINARY_D...
        阅读全文
                
摘要:px4::init_once(); void init_once() { _shell_task_id = pthread_self(); ...
        阅读全文
                
摘要:int Framework::initialize() { DF_LOG_DEBUG("Framework::initialize"); g_framework = new SyncObj; ...
        阅读全文
                
摘要:好多的程序,都有使用chroot来是程序chroot到一个目录下面,来保护文件系统,今天在看snort代码的时候,看到了实现,就贴出一个测试程序来,实际上是比较简单的。 chroot()在linux下面需要使用root权限,这一点需要注意了。 #include#include#i...
        阅读全文
                
摘要:getcwd	函数原型:char *getcwd( char *buffer, int maxlen );	功 能:获取当前工作目录	参数说明:getcwd()会将当前工作目录的绝对路径复制到参数buffer所指的内存空间中,参数maxlen为buffer的空间大小。	返 回 值:成功则返回当前工...
        阅读全文
                
摘要:sigaction(查询或设置信号处理方式)相关函数 signal,sigprocmask() ,sigpending,sigsuspend, sigemptyset	表头文件 #include	定义函数 int sigaction(int signum,const struct sigaction...
        阅读全文
                
摘要:函数名: atexit	头文件:#include	功 能: 注册终止函数(即main执行结束后调用的函数)	用 法: void atexit(void (*func)(void));	注意:exit调用这些注册函数的顺序与它们 登记时候的顺序相反。同一个函数如若登记多次,则也会被调用多次。 ...
        阅读全文
                
摘要:一、工作模式PWR_UP和PRIM_RX在寄存器0x00中的第0位和第1位。待机模式I:只是使用晶振工作,CE=0时是拉低?待机模式II:部分时钟缓冲器处在工作模式。TX FIFO为空并且CE为高电平进入待机模式II。然后在发送和接收时,NRF24L01有两种不同的模式,一种时ShockBurst...
        阅读全文
                
摘要:一、ADC参考手册学习A/D转换可以按单次、连续设置采样;可以一一扫描或间断的对多个ADC通道进行采集。ADC的结果有左对齐和右对齐。ADC的输入时钟不得超过14Mhz,它是由PCLK2经分频产生。	二、ADC通道选择16个多路通道,可以分成:规则组和注入组。规则组:可以设定任意的顺序进行的通道排...
        阅读全文
                
摘要:一、MPU6050初始化 /**************************实现函数******************************************** *函数原型: void MPU6050_initialize(void) ...
        阅读全文
                
摘要:一、初始化SysTick按1ms来设置systick,也可以除以1000000。按1us来设置 SysTick_Config(SystemCoreClock / 1000); //SysTick开启系统tick定时器并初始化其中断,1ms 二、systick的函数 //...
        阅读全文
                
摘要:一、硬件原理电池供电通过两个分压电阻接地,STM32则在两电阻中间通过ADC检测电池电压。(引脚BAT_DET)	二、ADC通道初始化 //初始化电池检测ADC //开启ADC1的通道8 //BatteryCheck---->PB0 void...
        阅读全文
                
摘要:stat函数组 前面介绍的通过ls命令查看到的文件信息,都可以使用stat函数组提取出来• stat函数组– 使用命令man stat查看相关文档• 函数int stat(const char *path, struct stat *buf);– 参数*path:文件路径– 参数*buf:文件信息–
        阅读全文
                
摘要:一、函数名称: int tcgetattr(int fd, struct termios *termios_p); 二、函数功能: The termios functions describe a general terminal interface that is provided to cont
        阅读全文
                
摘要:一、测试效应:相同时间下,测试比重复再现的长期学习效果更好。 二、分散效应:分散时间学习比集中式学习长期效果更好。 三、交错效应:交错学习比注意攻克学习效果更好。 四、变动效应:变换学习的方式和环境,比一成不变的学习,其学习的长期效果更好。 五、必要难度理论:感受到困难的方式来学习,相较于轻松的学习
        阅读全文
                
摘要:一、初始化过程 /*********************************************************************** 利用TIM4定时器作为计时,每个0.1秒处理一次数据 计算周期的公式为: psc/72*period/1000000 (单位为秒) ***
        阅读全文
                
摘要:一、初始化GPIO 使用PB1,查芯片手册对应TIM3_CH4 GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); RCC_APB1PeriphClockCmd(RCC_
        阅读全文
                
摘要:一、RCC设置 没什么好写的之前USART的基本一样 二、GPIO设置 设置AP9,AP10为串口。 三、USART设置 四、DMA设置 五、设置中断 在stm32f10x_it.c中加入: 六、main函数 /********************************************
        阅读全文
                
摘要:一、GPIO设置USART的初始化 从手册上可知,USART1是PA9(TX)PA10(RX)。所以设置pin9和pin10的GPIO输入输出状态。 同时需要开启复用功能的时钟,和USART1的时钟。 初始化主要包括,波特率,发送的长度,停止位,校验位,硬件流控。 三、main函数 简单的发送程序。
        阅读全文
                
摘要:开始时设置原点,编辑>>原点>>设置 画PCB时,导入后,根据各个模块放好位置 设计>>类>>添加电源类 设计>>规则>>Clearance( ALL 6mil,InPolyghon 10mil,IsVia 6mil) 设计>>规则>>Routing>>Width>>6mil(同时设置电源走线宽度1
        阅读全文
                
摘要:转到这里来是为了自己日后好找:-)2. The First Stop for the Latest ICs and Components非常好的关于微处理器,DSP,可以编程控制器资讯的网站,更新非常快。强烈推荐一些领导级别的人常去,了解行业动态!http://www.eeproductcente...
        阅读全文
                
摘要:一、MPU6050中的IIC时序	1.1 START和STOPSDA和SCL在高电平时,SDA拉低表示START。SCL拉低,表示可以传输数据。SDA和SCL在低电平时,SDA拉高表示STOP。 SCL拉高,表示传输数据结束。 /*****************************...
        阅读全文
                
摘要:参考资料:http://blog.sina.com.cn/s/blog_8240cbef01018i10.html不过有一些寄存器没有写到,所以我自己加一点:1)Register 25 - INT Pin / Bypass Enable ConfigurationINT_PIN_CFG描述: ...
        阅读全文
                
摘要:由于编码使用不统一导致别的开发环境下的文件在MDK(keil)下打开中文显示乱码,解决这一问题需要进行码制转换, 可以先将欲打开的文件转换成UTF-8格式(如在notepad中进行转换),也可以在打开文件前将MDK的编码设置为chinese2312(Edit>Configuration>Edit...
        阅读全文
                
摘要:一、功率放大电路的关键问题	①将输入信号的电压放大之后再进行电流放大。	②三种之前的方案(a)电路,会有交越失真不采用(b)电路,三极管取出大量电流时,Tr1和Tr2温度升高,Vbe电流变小。而二极管电流基本不变,那么VF>Vbe。继续引起三极管电流增加,从而发生热击穿。(c)电路,可以防止热击穿...
        阅读全文
                
摘要:一、射级跟随器发射极跟随着输入信号(基极电位)进行工作。	1.1典型电路信号从发射机取出,而且没有集电极负载电阻Rc。	1.2 不受负载电阻的影响改变RL的值和改变RE的值是一样的。并且Ve的电位只受Vb的影响。	二、电路设计 ①确定电源 ②选择晶体管 ③晶体管集电极损耗的计算 ...
        阅读全文
                
摘要:一、概述在概述里这样写,看完我就买了书。然后就是晶体管的放大方式,其实是把电源的电路放大。并不是从输出端放大的:晶体管是用基级电流来控制集电极-发射机电流的器件。而FET则是在输入端(栅极)的电压来控制输出端(漏级)的电流。	二、放大电路的工作原理	2.1 放大电路使用multisim仿真:遇到的...
        阅读全文
                
摘要:MOS/CMOS集成电路简介及N沟道MOS管和P沟道MOS管 在实际项目中,我们基本都用增强型mos管,分为N沟道和P沟道两种。 我们常用的是NMOS,因为其导通电阻小,且容易制造。在MOS管原理图上可以看到,漏极和源极之间有一个寄生二极管。这个叫体二极管,在驱动感性负载(如马达),这...
        阅读全文
                
摘要:一、头文件函数库3.5中一些之前sysTick的函数接口都不能用了。而且把一些函数放到了core_cm3,misc文件中了 #include "stm32f10x.h" #include "core_cm3.h" #include "misc.h" 二、设置...
        阅读全文
                
摘要:一、RCC初始化 /* Setup the microcontroller system. Initialize the Embedded Flash Interface, initialize the PLL and update the SystemFreq...
        阅读全文
                
摘要:一、RCC初始化 /**************************************************************************** * Function Name : RCC_Configuration * Descri...
        阅读全文
                
摘要:一、设置RCC时钟 //#define SYSCLK_HSE #define SYSCLK_FREQ_20MHz //#define SYSCLK_FREQ_36MHz //#define SYSCLK_FREQ_48MHz //#def...
        阅读全文
                
摘要:一、系统复位 复位除了部分RCC寄存器和备份区域以外的其他所有的寄存器; 来源: NRST引脚上的低电平(外部复位) WWDG计数结束 IWDG计数结束 软件复位(通过NVIC) 低电压管理的复位 电源复位 复位除了备份区域以外...
        阅读全文
                
摘要:一、电源供给 电源供给方案 VDD = 2.0~3.6V:外部电源为I/O和内部电压调节器提供电源。 VDDA = 2.0~3.6V:外部模拟电源为ADC、复位模块、RC电路和PLL提供电源。 >>只有当VDDA >= 2.4V时,ADC才能工作; >>只有当VDDA ...
        阅读全文
                
摘要:一、STM32F10x功能模块 32位的Cortex-M3微处理器; 可嵌套的向量中断控制器(NVIC)和60个可屏蔽中断且有16个可编程优先级; 内嵌内存: FLASH:最大512K字节 STAM:最大64K字节 扩展内存接口(FSMC)...
        阅读全文
                
摘要:一、串口初始化定义: using System.IO.Ports; SerialPort myPort = new SerialPort() 初始化: //port初始化 public void _por...
        阅读全文
                
摘要:硬件使用c8051f411。一、首先是关闭看门狗,看门狗在PCA0MD的第6位。关闭代码: /*关闭看门狗*/ void disable_watchdog(void) { PCA0MD |= 0xff; PCA0MD &= ...
        阅读全文
                
摘要:前言: 刚刚抽筋点了保存发布,结果要审核,那就分开写个续好了。	内容:	signal 信号是异步通知task的一种机制,HISR是不可以接收信号的,但是可以发送信号。 TCB中与signal相关数据结构包括active_signal,enable_signal(这是一个掩码,...
        阅读全文
                
摘要:;************************************************************************ ;* ;* FUNCTION ;* ;* INT_IRQ ;* ...
        阅读全文
                
摘要:前言: 最近一直都在看nucleus plus,之前看过一些linux内核的一些东西,但都是停留在文字上,代码看的很少,这个nucleus plus内核的代码量不大,看过source code确实对很多OS的知识有了更深入的认识,收获还是挺多的,把学到的东西记录下来。 内容:	一、nuc...
        阅读全文
                
摘要:task的TCB结构: typedef struct TC_TCB_STRUCT { /* Standard thread information first. This information is used by the ta...
        阅读全文
                
摘要:int.S: ;************************************************************************ ;* ;* FUNCTION ;* ;* INT_Initialize ...
        阅读全文
                
摘要:一、 更多的替换选项①替换标记 root@localhost sed]# cat data4.txt This is a test of the test script. This is the second test of the test script. ...
        阅读全文
                
摘要:一、sed编辑器sed命令的格式如下:sed options script file选项-e script 在处理输入时,将script中指定的命令添加到已有的命令中-f file 在处理输入时,将file中指定的命令添加到已有的命令中-n ...
        阅读全文
                
摘要:1.USB驱动模型①USB HOST控制器驱动②USBhexin③USB客户端驱动设备4个层次:设备(device)、配置(Config)、接口(Interface)、端点(Endpoint).一个接口就是一个基本功能。如:MP4的视频、音频。USB设备包括配置(configuration)、接口(...
        阅读全文
                
摘要:1.软件系统架构USB主控制器,芯片里面自带了得。为了让USB主控制器运行,所有有USB主控制器驱动。USB核心,内核提供好的USB协议之类的。USB设备驱动是针对插到接口的设备去工作的软件。主机插得是HOST接口开发板插的是SLAVE接口Gadget驱动:让USB设备工作成特殊的状态(网卡,串口等...
        阅读全文
                
摘要:1.USB设备逻辑结构在USB设备的逻辑组织中,包含设备、配置、接口和端点4个层次。设备通常有一个或多个配置,配置通常有一个或多个接口,接口有零或多个端点。1.1 设备逻辑结构每个USB设备都可以包含一个或多个配置,不同的配置使设备表现出不同的功能组合,配置由多个接口组成。在USB协议中,接口代表一...
        阅读全文
                
摘要:1.USB发展史USB(Universal Serial Bus ),通用串行总线,是一种外部总线标准,用于规范电脑与外部设备的连接和通讯。USB是在1994年底由英特尔、康柏、IBM、Microsoft等多家公司联合提出的,自1996年推出后,已成功替代串口和并口,成为当今个人电脑和大量智能设备的...
        阅读全文
                
摘要:一、SPI驱动子系统架构m25p80.c: static int __devinit m25p_probe(struct spi_device *spi) { struct flash_platform_data *data; s...
        阅读全文
                
摘要:一、SPI子系统模型三个组成部分:SPI核心:连通了SPI客户驱动、SPI主控制器驱动SPI控制器驱动:驱动芯片中的SPI控制器SPI的FLASH(客户驱动)二、SPI控制器驱动分析 static int __init s3c24xx_spi_probe(struct platform_d...
        阅读全文
                
摘要:一、SPI总线结构SPI(Serial Peripheral Interface)串行外设接口,是一种高速的,全双工,同步的通信总线。采用主从模式(Master Slave)架构,支持多个slave,一般仅支持单Master。SPI接口共有4根信号线,分别是:设备选择线(SS)、时钟线(SCK)、串...
        阅读全文
                
摘要:一、自编设备驱动模型at24.c: static int __init at24_init(void) { io_limit = rounddown_pow_of_two(io_limit); return i2c_add_driver...
        阅读全文
                
摘要:一、用户态驱动模型1.1 I2C通用驱动代码i2c_dev_init: static int __init i2c_dev_init(void) { int res; printk(KERN_INFO "i2c /dev ...
        阅读全文
                
摘要:一、I2C总线介绍1.1 I2C电气特性 I2C(Inter-Integrated Circuit)总线是由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。I2C总线只有两根双向信号线。 SDA: Serial Data Line-数据线 SCL :Serial C...
        阅读全文
                
摘要:一、MTD系统架构 1.MTD设备体验	FLASH在嵌入式系统中是必不可少的,它是bootloader、linux内核和文件系统的最佳载体。	在Linux内核中引入了MTD子系统为NORFLASH和NAND FLASH设备提供统一的接口,从而使得FLASH驱动的设计大为简化。 ...
        阅读全文
                
摘要:1.块设备概念块设备是指只能以块(512Byte)为单位进行访问的设备,块大小一般是512个字节的整数倍。常见的块设备包括硬件,SD卡,光盘等。2.快速体验 insmod simple-blk.ko ls /dev/simp_blkdev0 m...
        阅读全文
                
摘要:一、LCD驱动程序架构 1.裸机驱动代码分析①LCD初始化:控制器初始化,端口初始化,指明帧缓冲②LCD图形显示:将图形数据写入帧缓冲 void lcd_init() { lcd_port_init(); //初始化gpdcon和gpccon初始化...
        阅读全文
                
摘要:一、触摸屏驱动分析 static int __init tq2440ts_init(void) { struct input_dev *input_dev; adc_clock = clk_get(NULL, "adc")...
        阅读全文
                
摘要:一、输入子系统模型解析 1.为什么需要输入子系统按写按键驱动时:需要注册1个字符启动;open,read与用户程序交互;硬件设置。这些数据都是要输入的,所以可以全部整合成输入子系统。2.输入子系统的模型输入子系统由设备驱动层(input device driver),核心层(input core)和...
        阅读全文
                
摘要:DM9000数据发送编程: static int dm9000_start_xmit(struct sk_buff *skb, struct net_device *dev) { unsigned long flags; b...
        阅读全文
                
摘要:一、dm9000_porbe函数分析不同于u-boot代码,tq2440中的DM9000更加复杂,需要分析的点也很多: /* * Search DM9000 board, allocate space and register it */ stat...
        阅读全文
                
摘要:一、网卡工作基本原理1.网络模型1.1 OSI七层模型OSI(Open SystemInterconnection),开放式系统互联参考模型 。它把网络协议从逻辑上分为了7层。 通过七个层次使不同的系统网络之间实现可靠的通讯。 1.2 Linux四层模型OSI参考模型的过于庞大、复杂招致了许多批评...
        阅读全文
                
 
                    
                
 浙公网安备 33010602011771号
浙公网安备 33010602011771号