- 博客(50)
- 资源 (3)
- 收藏
- 关注
原创 单片机I/O口推挽输出与开漏输出的区别
推挽输出:可以输出高,低电平,连接数字器件;开漏输出:输出端相当于三极管的集电极. 要得到高电平状态需要上拉电阻才行. 适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内).推挽结构一般是指两个三极管分别受两互补信号的控制,总是在一个三极管导通的时候另一个截止.我们先来说说集电极开路输出的结构。集电极开路输出的结构如图1所示,右边的那个三极管集电极什么都不接,所以叫
2014-04-12 17:23:57
1404
原创 IAR错误之Error[Li005] no definition for "__program_start"
Error[Li005]: no definition for "__program_start" [referenced from C:\Manley\EKBoard\EKSTM32F\LCDDemo(lcd+led+buttom)\ LCDDemo\project\EWARM\BOOT_FLASH\Obj\stm32f10x_vector.o] Error while ru
2014-01-08 09:43:40
13939
1
原创 Error[Pe147]: declaration is incompatible with "__nounwind __interwork __sof
IAR tips and tricksHome PageSTM32 home pageCMSIS build problems with IAR Embedded Workbench ver. 6.30.6CMSIS build problems with IAR Embedded Workbench ver. 6.20How to use EWAR
2014-01-08 09:11:47
12495
1
原创 8051中断控制寄存器
1.定时器/计数器控制寄存器TCON 定时器/计数器控制寄存器TCON的地址为88H,可以位读写,其功能如下:TCON.7TCON.6TCON.5TCON.4TCON.3TCON.2TCON.1TCON.0TF1
2013-11-18 13:55:22
3663
原创 在stm32f4_discovery上实现Flash移植!
调试sd卡好几天了,之前在103上已经移植好了sd卡,现在想移植到f4上,发现底层的sd卡驱动还是有些区别的,区别最大是F4里面要为spi的sck,miso和mosi添加三条语句GPIO_PinAFConfig(GPIOA,GPIO_PinSource5,GPIO_AF_SPI1); GPIO_PinAFConfig(GPIOA,GPIO_PinSource6,GPIO_AF_S
2013-10-27 19:53:27
1186
原创 STM32的DAC深入探究之一
1、简述:12位数字输入,电压输出,DAC可以配置为8位或12位模式。有2个输出通道。在双DAC模式下,两个通道可以独立地工作。 特殊功能: 噪声波形生成,三角波形生成,外部触发转换,双DAC同时或者分别转换;每个通道都有DMA功能; 参考电压:2.4V~ 3.3V 因为一旦使能DAC通道,那么相应的GPIO便自动地连接到DAC转换器,因此,模拟输出
2013-10-27 15:36:49
10127
原创 STM32F4学习笔记之GPIO(使用固件库)
1.使能GPIO的AHB时钟,使用函数: RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOx, ENABLE);2.配置GPIO工作模式用GPIO_Init()函数数据类型说明typedef struct{ uint32_t GPIO_Pin; //引脚配置GPIOMode_TypeDef GPI
2013-10-20 22:19:56
4722
1
原创 ..\OBJ\ucgui_ucos.axf: Error: L6218E: Undefined symbol ff_convert (referred from ff.o). ..\OBJ\ucgui
如果出现上述错误 ,则没有定义ff_convert()这个函数,只是添加了这个函数的头文件声明!!
2013-10-15 14:49:08
8721
原创 .\Obj\uCOSDemo.axf: Error: L6218E: Undefined symbol LCD_Fast_DrawPoint (refe
这个问题是 没有定义此函数解决方法是 定义并声明一下 这个函数!!!
2013-10-08 20:53:40
10628
原创 .\Obj\main.axf: Error: L6406E: No space in execution regions with .ANY selector matching sin_i.o(.co
这个问题原因是 芯片的 空间不足解决方法是 在KEIL 的DEVICE中选择 更大的空间的芯片型号
2013-10-08 20:49:09
38919
3
原创 设置linux内核启动参数-挂载NFS根文件系统
基于友善之臂mini2440。Supervivi> param set linux_cmd_line "console=ttySAC0 root=/dev/nfsnfsroot=192.168.1.111:/opt/FriendlyARM/mini2440/root_qtopiaip=192.168.1.70:192.168.1.111:192.168.1.111:255.255.25
2013-10-06 21:42:21
2521
原创 SecureCRT终端下部分内容显示乱码
在查看文件夹下的内容时如果有汉字命名的则会出现显示乱码,解决如下:a) 在系统中执行命令:export LANG=en_US.UTF-8b) 设置SecureCRT:Options—》Session Options—》左侧选择Appearance,再更改右侧Character encoding为“UTF-8”
2013-10-06 21:28:59
1378
原创 SecureCRT下的串口不能输入
SecureCRT下的串口不能输入用secureCRT建了一个串口COM1后,连接上开发板后,可以正确接受和显示串口的输出,但是按键输入无效。解决方法:Session Options -> Connection -> Serial -> Flow Control,将原先默认选中的 RTS/CTS取消掉,再重新connect开发板,再次连上后,此时就可以从键盘输入了。
2013-10-06 16:30:23
1145
原创 CMOS集成电路
集成电路按晶体管的性质分为TTL和CMOS两大类,TTL以速度见长,CMOS以功耗低而著称,其中CMOS电路以其优良的特性成为目前应用最广泛的集成电路。在电子制作中使用CMOS集成电路时,除了认真阅读产品说明或有关资料,了解其引脚分布及极限参数外,还应注意以下几个问题: 1、电源问题 (1) CMOS集成电路的工作电压一般在3-18V,但当应用电路中有门电路的模拟应用(如脉冲振荡、
2013-10-03 10:26:40
1354
原创 添加按键
I want add a new key on port p1_6cc2530EB, zstack2.3.0#define HAL_KEY_SW_7_PORT P1#define HAL_KEY_SW_7_BIT BV(6)#define HAL_KEY_SW_7_SEL P1SEL#define HAL_KEY_SW_7_DIR P1DIR#define HAL_KE
2013-09-08 15:43:28
1717
原创 2530 开发板上的某个按键修改
对于手上拥有一个2530开发板的Zstack初学者来说,最经常做的事情也许就是按下开发板上的某个按键,进行绑定或者远程控制另一个开发板上的LED的亮灭。自然而然地,大家都想知道这个过程是如何实现的,协议栈的按键处理函数在哪里,如果想自己设计开发板,假如按键接口和2530标准开发板不一样的话,又应当修改哪些参数才能保证按键能够起作用,这里我就来详细地解释一下。按键的配置是在hal_key.c里实
2013-09-08 15:35:24
2026
1
原创 Unable to open the command file "E:\Samples\SampleApp\CC2530DB\..\.问题
编译zstack的例子 IAR配置问题 [复制链接] 新手上路串个门加好友打招呼发消息电梯直达1# leavor 发表于 2013-3-4 18:23:29 |只看该作者 |倒序浏览我的
2013-09-08 08:56:48
11059
2
原创 CC2530 外部中断 提醒
#include "ioCC2530.h"#define uchar unsigned char#define led1 P1_0#define led2 P1_1#define led3 P1_4#define led4 P0_1void initled(void){ P1SEL &=~0x13; P1DIR
2013-08-31 21:23:22
1591
原创 CAN 通信引脚
近一直在搞CAN调试,目前为止基本的CAN通讯没问题了【查询、中断接收,发送中断】,我使用的是STM32F103RB芯片,软件库函数是V3.4.0——2010-10-15,CAN_TX使用的是PB9,CAN_RX使用的是PB8,但是还是还有几个疑问: 关于CAN的发送中断,由于入口函数和使能只有一个【分别为USB_HP_CAN1_TX_IRQHandler和USB_HP_CAN1_T
2013-08-15 10:24:32
14802
原创 stm32+ucos+ucgui 中edit框读取AD值以十进制显示
初始化 case WM_INIT_DIALOG: hEdit0 = WM_GetDialogItem(hDlg, GUI_ID_EDIT0); //创建Dialog hRadio = WM_GetDialogItem(hDlg, GUI_ID_RADIO0); //创建Dialog //EDIT_SetDecMode(hEdit0, 0,
2013-08-01 10:59:54
3584
原创 ucGUI 中 加入汉字库和图片的方法
ucGUI中加入Font的方法1、首先用ucGUIBuilder 汉字字库生成 .c文件 2、将此文件拷进Font文件夹下面 添加进入工程3、在工程中打开此文件 拉到文件最后 GUI_FONT GUI_FontHZ24x24 = { GUI_FONTTYPE_PROP_SJIS, 24, 24, 1, 1, &GUI_FontHZ_24x24_
2013-07-19 15:59:27
2553
原创 STM32的can现场总线实验心得(对初学者应该比较有用,有不对的地方望大侠指出)
最近在搞stm32实验板的can现场总线实验,之前只是搞过STC51的串口通信,相比之下,发觉can总线都挺复杂的。开始时,知道自己是新手,只知道can总线跟串行通信,485通信,I2C通信一样都是用来传输数据通信的,对其工作原理一窍不通,还是从基础开始看书看资料,先了解它的基本原理吧。原来can总线有以下特点:主要特点z 支持CAN协议2.0A和2.0B主动
2013-06-21 13:55:47
4390
原创 STM32过滤器的作用
STM32普通型芯片的CAN有14组过滤器组(互联型有28组过滤器组),用以对接收到的帧进行过滤。每组过滤器包括了2个可配置的32位寄存器:CAN_FxR0和CAN_FxR1。对于过滤器组,可以将其配置成屏蔽位模式,这样CAN_FxR0中保存的就是标识符匹配值,CAN_FxR1中保存的是屏蔽码,即CAN_FxR1中如果某一位为1,则CAN_FxR0中相应的位必须与收到的帧的标志符中的相应位吻合才能
2013-06-16 20:13:40
1573
原创 stm32程序中的assert_param()的说明
子程序都有assert_param(....),如下:这句到底有什么用呢???把它删了应该可以的吗??void TIM1_TimeBaseInit(u16 TIM1_Prescaler, TIM1_CounterMode_TypeDef TIM1_CounterMode, u16 TIM1_Pe
2013-06-15 21:00:07
1387
原创 OSUnMapTbl[ ] 解析
OSRdyGrp确定了优先级的次低三位(bit5-bit3),OSOSRdyTbl确定了优先级的低三位(bit2-bit0), OSRdyGrp = 0x011; //0b00010001 OSRdyTbl[0] = 0x0a; //0b00001010 OSRdyTbl[4] = 0x01; //0b00000001 计算出存在的几个优先级为;0*8+1=1,0*8+3=3
2013-04-04 16:18:42
2070
原创 CMOS电平和TTL电平
CMOS电平和TTL电平:CMOS逻辑电平范围比较大,范围在3~15V,比如4000系列(4011与非门),当5V供电时,输出在4.6以上为高电平,输出在0.05V以下为低电平。输入在3.5V以上为高电平,输入在1.5V以下为低电平。而对于TTL芯片,供电范围在0~5V,常见都是5V,如74系列5V供电,输出在2.7V以上为高电平,输出在 0.5V以下为低电平,输入在2V以上为高电平,在0.8V以
2013-03-25 22:11:43
2226
原创 段式液晶学习
笔段式液晶无处不在,计算器,空调,电子表,各种控制仪器控制芯片采用 holtek的 HT1621 RAM Mapping 32 4 LCD Controller for I/O MCUHT1621与段式液晶连接图HT1621 Display Memory RAM(6位地址+4位数据)
2013-03-14 21:42:49
2569
原创 DS18B20温度读取笔记1-复位函数
DS18B20主要性质:全数字输入/输出单总线通信结构 (只占用一个IO口,而且在这个IO口上能挂接多个DS18B20)内部温度为12bit分辨率,精度为正负0.5℃ (注意不要将精度和分辨率混为一谈)12位分辨率的时候转换工作周期最长为750ms (算是比较慢的外设了,设计时要考虑多任务工作的要求)可以使用寄生电源模式(可以再省掉VCC的线,这种模式下总共只要2根线就能工
2013-03-14 15:24:52
5797
原创 MSP430 中ADC12用法
1.1. 介绍Figure 4 AD模块图在处AD时,我们关注的对象有如下几个,参考源、通道、存储地址、时钟、触发方式、精度,速度(200k)。在上图中我们都可以找到,msp430f149的参考正电源有VRFE+ VeREF+ ,Vcc,同时有对应的负电源。采样通道有16个,存储地址则有对应16个通道,时钟则是有内部时钟及3种时钟源的分频,触发方式有4种。因此,对于
2013-03-12 16:59:59
9740
原创 MSP430F149的ADC12模块
1 概述 MSP430F149的ADC12为SAR型12位AD,共有16路输入通道,其中8路独立的外部输入通道,2路接外部Vref+,Vref-,3路内部通道可分别测内部温度传感器、AVCC、和外部参考源。 P6口第二功能为AD输入端。MSP430F149的10、11分别接外部电压参考源正负极,7脚可将内部电压参考源输出。 ADC12共有18个中断源,公用一个中断向量AD
2013-03-12 16:54:54
3666
原创 VC++6.0 中主函数调用其他文件函数的工程建立方法
首先是在VC++6.0中需注意的问题,建立一个新工程时,Windows程序要选择Win32,而控制台程序要选择Console,多数我们都选择控制台程序,因此这里应该选择Win32 Console Application此时还要注意的是:在此工程中添加新的文件时,要在 将此文件添加到工程复选框 前勾选
2012-12-19 10:00:37
2791
原创 字符设备与块设备的区别
在LINUX里面,设备类型分为:字符设备、块设备以及网络设备, PCI是一种和ISA为一类的总线结构,归属于网络驱动设备~~~字符设备、块设备主要区别是:在对字符设备发出读/写请求时,实际的硬件I/O一般就紧接着发生了,而块设备则不然,它利用一块系统内存作为缓冲区,当用户进程对设备请求能满足用户的要求时,就返回请求的数据,如果不能就调用请求函数来进行实际的I/O操作,因此,块设备主要是针对
2012-11-01 14:44:38
2244
原创 linux 下复制
如何切换vim Buffervim与windows/linux之间的复制粘贴小结 实验了下,感觉 "*p 比 "+p 有用!在windows/linux环境下复制,再到VIM中进入插入模式,Shift+Ctrl+V,粘贴成功!补充下VIM相关知识:转载的文章,vim中有多个粘贴板,这个。。。舒服。。。==========
2012-10-28 08:24:02
929
原创 压力传感器工作原理
1 、应变片压力传感器原理与应用 力学传感器的种类繁多,如电阻应变片压力传感器、半导体应变片压力传感器、压阻式压力传感器、电感式压力传感器、电容式压力传感器、谐振式压力传感器及电容式加速度传感器等。但应用最为广泛的是压阻式压力传感器,它具有极低的价格和较高的精度以及较好的线性特性。下面我们主要介绍这类传感器。 在了解压阻式力传感器时,我们首先认识一下电阻应变片这种元
2012-10-22 08:38:56
10703
原创 BootLoader的概念
Boot Loader 就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。通常,Boot Loader 是严重地依赖于硬件而实现的,因此建立一个通用的 Boot Loader 几乎是不可能的。 每种不同的 CPU 体系结构都有不同的 Boot
2012-10-18 19:29:53
681
原创 如何使用eclipse打开已有工程
在开始使用Eclipse的时候,会发现一个问题,那就是如何打开一个现有的Eclipse工程,开始在菜单中找了好久也没找到。 其实,Eclipse生成的结果不像VC,Jcreator那样可以直接打开,若要打开非workspace文件夹下的其他已有工程,可以打开 菜单file->import→general→existing project into space.在sele
2012-10-18 10:01:48
879
原创 realloc 的用法
原型:extern void *realloc(void *mem_address, unsigned int newsize); 功能:改变mem_address所指内存区域的大小为newsize长度。 说明:如果重新分配成功则返回指向被分配内存的指针,否则返回空指针NULL。 当内存不再使用时,应使用free()函数将内存块释放。 注意:这里原始内存中的数据还是
2012-10-08 16:38:53
703
原创 向linux内核中加载PWM(蜂鸣器)的两种方法
pwm_test蜂鸣器驱动的添加添加有两种方式Pwm驱动程序:#include #include #include #include #include #include #include #include #include #include #include #include #include #include #inclu
2012-09-26 15:27:10
1760
原创 4×4矩阵键盘的工作原理与编程
4×4矩阵键盘的工作原理与编程 本文介绍如何在ME300B型51/AVR单片机学习开发系统上使用数码管显示4×4矩阵键盘的键值。 一、硬件工作原理的简单介绍该实验使用ME300B上的8位数码管显示电路和4×4矩阵键盘电路。现将这二部分的电路工作原理进行简单的介绍: 1、4×4矩阵键盘的工作原理矩阵键盘又称为行列式键盘,它是用4条I/O线作为行线,4条I/O线作为列线
2012-09-15 08:28:29
5138
1
学生管理系统
2012-08-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人