C语言
zht9961020
这个作者很懒,什么都没留下…
展开
-
一个pic单片机iic例子(未检验正确性)
<br />#include<pic.h><br />#define uchar unsigned char<br />#define uint unsigned int<br />#define add 0xaa<br />__CONFIG(0x3B31);<br />const uchar ee_data[]={1,2,3,4,5,6};<br />uchar read_data[6];<br />const uchar table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0原创 2010-12-02 23:38:00 · 979 阅读 · 0 评论 -
PC13 PC14 PC15 才可以当普通IO用
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC | RCC_APB2Periph_AFIO, ENABLE);//开C口时钟,复用时钟。GPIO_InitTypeDef GPIO_InitStructure;//设为输出 注意:2MHZ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12|GPIO_Pin_13 |转载 2012-03-14 16:51:16 · 11918 阅读 · 0 评论 -
stm32 JTAG做普通io口(来自www.ourdev.com)
STM32F10x系列的MCU复位后,PA13/14/15 & PB3/4默认配置为JTAG功能。有时我们为了充分利用MCU I/O口的资源,会把这些端口设置为普通I/O口。具体方法如下:GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE); // 改变指定管脚的映射 GPIO_Remap_SWJ_Disable SWJ 完全禁转载 2012-03-12 16:14:55 · 3414 阅读 · 0 评论 -
STM32F103的ADC问题
求助,STM32F103的ADC问题 我使用了两路ADC来做采集,无论是独立模式还是同步模式,PA0(通道0)会有毛刺状信号产生,PA1(通道1)会有约1.7V(3.3V供电的一半)的电平出现。两只脚都是悬空,而且AD转换不启动的时候都是正常的0V。而且无论是用ADC1还是ADC2,情况都是一样的。有没有哪位高手遇到这种问题?转载 2012-03-12 08:58:00 · 8882 阅读 · 1 评论 -
STM32F103VBT6 使用16M晶振和8M晶振 RCC设置有何不同?
STM32F103VBT6 使用16M晶振和8M晶振 RCC设置有何不同?原来使用8M的晶振,设置如下,通讯发送数据正常 RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9); 现在改成16M的晶振,设置改成下面,通讯发送数据不正常 RCC_PLLConfig(RCC_PLLSource_HSE_Div2, RCC_PLLM转载 2012-02-28 15:02:18 · 8088 阅读 · 0 评论 -
stm32通用定时器
Daqiangestm32通用定时器 STM32的定时器是个强大的模块,定时器使用的频率也是很高的,定时器可以做一些基本的定时,还可以做PWM输出或者输入捕获功能。时钟源问题:名为TIMx的有八个,其中TIM1和TIM8挂在APB2总线上,而TIM2-TIM7则挂在APB1总线上。其中TIM1&TIM8称为高级控制定时器(advanced contr转载 2012-02-27 12:47:42 · 862 阅读 · 0 评论 -
无源晶体与有源晶振的区别及用法
[单片机]发布时间:2008-11-13 22:01:29 1、有源晶振(Oscillator)有4只引脚,是一个完整的振荡器,其中除了石英晶体外,还有晶体管和阻容元件。其次有源晶振,信号质量好,比较稳定,而且连接方式相对简单(主要是做好电源滤波,通常使用一个电容和电感构成的PI型滤波网络,输出端用一个小阻值的电阻过滤信号即可),不需要复杂的配置电路。其型号也纵比较多,而且转载 2012-02-16 20:01:46 · 2340 阅读 · 0 评论 -
[转载][教程] C/C++指针简易教程
原帖请看:http://yzfy.org/bbs/viewthread.php?tid=710&extra=page%3D1《对函数调用的深入探讨》:http://yzfy.org/bbs/viewthread.php?tid=688&extra=page%3D1 首先声明,这篇文章是给那些学完了指针,但是对指针的使用和实质还存在疑问的朋友。如果你根本就没有学过指针,请先去参考一下几本经典的教材转载 2012-02-24 14:33:54 · 2191 阅读 · 0 评论 -
实现STM32中USART的DMA
2010年06月29日 星期二 20:56终于开荤了~~~DMA先抄一小段DMA的说明。对于没玩过DMA 的朋友,这里简单说一下DMA,用自己的语言说吧,那就是,从某个位置传输数据到某个位置,如果不用DMA,那要CPU参与操作,一个字节一个字节地搬,效率高点的,就一个字一个字地搬.但当你用了DMA 后,那就是只需要设置:A.从哪里开始搬; B,搬到哪转载 2012-02-23 09:43:09 · 5904 阅读 · 2 评论 -
hclk pclk1 pclk2
SYSCLK 系统时钟,最大72MHzHCLK :AHB总线时钟,由系统时钟SYSCLK 分频得到,一般不分频,等于系统时钟经过总线桥AHB--APB,通过设置分频,可由HCLK得到 PCLK1与PCLK2时钟不过PCLK2时钟最高可达72MHz,而PCLK1最大36MHz。PCLK2对应APB2外设。PCLK1对应APB1外设。转载 2012-02-22 10:57:02 · 2113 阅读 · 0 评论 -
对字(Word)、半字(Half-Word)、字节(Byte)的概念说明
对字(Word)、半字(Half-Word)、字节(Byte)的概念说明如下: 字(Word):在ARM体系结构(32位机)中,字的长度为32位,而在8位/16位处理器体系结构中,字的长度一般为16位。半字(Half-Word):在ARM体系结构(32位机)中,半字的长度为16位,与8位/16位处理器体系结构中字的长度一致。字节(Byte):在ARM体系结构(32位转载 2012-02-21 22:27:09 · 10239 阅读 · 0 评论 -
三角函数快速算法(反正切,正余弦,开平方)
2010-09-08 09:14:27| 分类:默认分类 | 标签:|字号大中小 订阅#define REAL float#define TAN_MAP_RES 0.003921569 /* (smallest non-zero value in table) */#define RAD_PER_DEG 0.017转载 2012-02-04 10:26:48 · 14881 阅读 · 1 评论 -
AVR M16 ADC应用设计要点(转)
1. 预分频与转换时间在通常情况下,ADC的逐次比较转换电路要达到最大精度时,需要50kHz~200kHz之间的采样时钟。在要求转换精度低于10位的情况下,ADC的采样时钟可以高于200kHz,以获得更高的采样率。ADC模块中包含一个预分频器的ADC时钟源,它可以对大于100KHz的系统时钟进行分频,以获得合适的ADC时钟提供ADC使用。预分频器的分频系数由ADCSRA寄存器中的ADPS位转载 2011-12-16 10:42:11 · 1841 阅读 · 0 评论 -
Keil MDK编译器的数据类型定义
(2009-11-06 11:46:50)转载▼标签:编译器keilmdk数据类型杂谈 对于Keil MDK编译器的数据类型定义还是很模糊,主要就是区分不了short int、int、long 和long int占用多少字节。为了得到一个权威的答案,改用编译器自身得出。一、先定义几个变量,用于存放各数据类型的字节数。转载 2011-12-25 09:41:18 · 2991 阅读 · 0 评论 -
MDK常见报错
2011-12-15 17:32MDK常见报错 工作后从单片机转成ARM,刚开始用ADS1.2编译器,用了一段时间,因为我接手的项目的老程序正是用ADS编译的,部门也大都在用.在学单片机的时候用的是keil c51编译器,ads和这个编译器在易用性上真是无法比较.后来渐渐知道keil已经被arm公司收购,现在keil MDK成为了arm官方编译器,所以决定重新投奔k转载 2011-12-23 15:40:15 · 1081 阅读 · 0 评论 -
在BCB中使用DirectX
<br />这是一个简要的指南,可以指导你如何在BCB中使用DirectX SDK。 <br />我在这里假定你的BCB的安装路径在:C:/Borland/CBuilder/,DirectX SDK在C:/dx5sdk/<br />设置 Borland C++ Builder<br />#include<br />这是许多人遇到的麻烦, Borland在BCB的/Include路径下提供了DirectX的头文件, 如果只是把c:/dx5sdk/sdk/inc/加到BCB的include路径下转载 2011-03-30 19:00:00 · 1087 阅读 · 0 评论 -
键盘虚拟键值编码表 使用keybd_event
<br />也是在cnblogs上找的,怕到时忘了,先记下来<br />原文章 :http://www.cnblogs.com/nemolog/archive/2005/10/30/265035.html<br />模拟键盘输入首先要用到一个API函数:keybd_event。<br /> 我们是菜鸟,所以不必具体去理解它的详细用法,只要按以下方法使用即可了!呵呵!<br /> 模拟按键有两个基本动作,即按下键和放开按键,所以我们每模拟一次按键就要调用两次该API函数,其方法是:<br /><br />转载 2010-11-15 14:35:00 · 1125 阅读 · 0 评论 -
pic单片机硬件iic例子(未检验)
PIC -IIC硬件驱动程序2010-05-17 00:08<br />#include<pic.h><br />#define uchar unsigned char<br />#define uint unsigned int<br />__CONFIG(0x3B31);<br />const uchar ee_data[]={1,2,3,4,5,6};<br />uchar read_data[6];<br />unsigned char duan[]={0xc0,0xf9,0xa4,0xb0,0x9转载 2010-12-02 23:43:00 · 2230 阅读 · 0 评论 -
stm32学习笔记——GPIO
2011-03-06 15:10STM32基本上每个引脚都有8种配置模式:1)浮空输入2)带弱上拉输入3)带弱下拉输入4)模拟输入5)推挽输出6)开漏输出7)复用推挽输出8)复用开漏输出通常有5种方式使用某个引脚功能,它们的配置方式如下:1)作为普通GPIO输入:根据需要配置该引脚为浮空输入、带弱上拉输入或带弱下拉输入,同时不要使转载 2012-03-14 16:18:46 · 2382 阅读 · 0 评论