STM32F103通用教程.doc_第1页
STM32F103通用教程.doc_第2页
STM32F103通用教程.doc_第3页
STM32F103通用教程.doc_第4页
STM32F103通用教程.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

STM32F103_使用心得IO端口输入输出模式设置:.;Delay延时函数:.;IO端口使用总结:.;IO口时钟配置:.;初始化IO口参数:.;注意:时钟使能之后操作IO口才有效!.;IO端口输出高低电平函数:.;IO的输入IO端口输入输出模式设置: . 1Delay延时函数: . 2IO端口使用总结: . 2IO口时钟配置: . 2初始化IO口参数: . 2注意:时钟使能之后操作IO口才有效! . 2IO端口输出高低电平函数: . 2IO的输入和输出宏定义方式: . 3读取某个IO的电平函数: . 3IO口方向切换成双向 . 3IO 口外部中断的一般步骤: . 3内部ADC使用总结: . 4LCDTFT函数使用大全 . 5TFTLCD使用注意点: . 5IO端口宏定义和使用方法: . 6Keil使用心得: . 6ucGUI移植 . 6DDS AD9850测试程序: . 6ADC 使用小结: . 7ADC测试程序: . 9DACtlv5638测试程序 . 9红外测试程序: . 9DMA使用心得: . 9通用定时器使用: . 9BUG发现: . 10编程总结: . 10时钟总结: . 10汉字显示(外部SD卡字库): . 11字符、汉字显示(内部FLASH) . 12图片显示: . 16触摸屏: . 17引脚连接: . 19IO端口输入输出模式设置:Delay延时函数:delay_ms(u16 nms);delay_us(u32 nus);IO端口使用总结:1)使能IO 口时钟。调用函数为RCC_APB2PeriphClockCmd()。2)初始化IO 参数。调用函数GPIO_Init();3)操作IO。IO口时钟配置:RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD,ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE,ENABLE);初始化IO口参数:注意:时钟使能之后操作IO口才有效!GPIO_InitTypeDefGPIO_InitStructure; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13|GPIO_Pin_15; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; GPIO_Init(GPIOA, &GPIO_InitStructure); /上拉输入GPIO_InitTypeDefGPIO_InitStructure;GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOA, &GPIO_InitStructure); /LED0-PA.8 端口配置 /推挽输出技巧:如果为同一端口的不同引脚,可以使用或运算,如GPIO_InitStructure.GPIO_Pin =GPIO_Pin_13|GPIO_Pin_15;IO端口输出高低电平函数:GPIO_SetBits(GPIOA,GPIO_Pin_8|GPIO_Pin_9); /PA.8 输出高 GPIO_ResetBits(GPIOA,GPIO_Pin_8);GPIO_WriteBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, BitActionBitVal);/可以输出1,也可以输出0GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal);/整体输出一个值IO的输入和输出宏定义方式:#define DATAOUT(x) GPIOB-ODR=x; /数据输出#define DATAIN GPIOB-IDR; /数据输入#define DATAOUT(DataValue)GPIO_Write(GPIOB,(GPIO_ReadOutputData(GPIOB)&0xff00)|(DataValue&0x00FF); /PB07,作为数据线读取某个IO的电平函数:(一) 读出一个IO口电平GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)#define KEY0 GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_13) /PA13#define KEY1 GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_15) /PA15#define KEY2 GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0)(二) 读出某个IO口的全部电平GPIO_ReadInputData(GPIOC)IO口方向切换成双向IIC里面的一个实例#define SDA_IN() GPIOC-CRH&=0XFFFF0FFF;GPIOC-CRH|=8CRH&=0XFFFF0FFF;GPIOC-CRH|=3PA.8 端口配置 /推挽输出技巧:如果为同一端口的不同引脚,可以使用或运算,如GPIO_InitStructure.GPIO_Pin =GPIO_Pin_13|GPIO_Pin_15;IO端口输出高低电平函数:GPIO_SetBits(GPIOA,GPIO_Pin_8|GPIO_Pin_9); /PA.8 输出高 GPIO_ResetBits(GPIOA,GPIO_Pin_8);GPIO_WriteBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, BitActionBitVal);/可以输出1,也可以输出0GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal);/整体输出一个值IO的输入和输出宏定义方式:#define DATAOUT(x) GPIOB-ODR=x; /数据输出#define DATAIN GPIOB-IDR; /数据输入#define DATAOUT(DataValue)GPIO_Write(GPIOB,(GPIO_ReadOutputData(GPIOB)&0xff00)|(DataValue&0x00FF); /PB07,作为数据线读取某个IO的电平函数:(一) 读出一个IO口电平GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)#define KEY0 GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_13) /PA13#define KEY1 GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_15) /PA15#define KEY2 GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0)(二) 读出某个IO口的全部电平GPIO_ReadInputData(GPIOC)IO口方向切换成双向IIC里面的一个实例#define SDA_IN() GPIOC-CRH&=0XFFFF0FFF;GPIOC-CRH|=8CRH&=0XFFFF0FFF;GPIOC-CRH|=3BRR|=GPIO_Pin_6; GPIOC-BSRR|=GPIO_Pin_6;Keil使用心得:和的区别: ,这样话的时间比较短; 只要不改变头文件,我们一般可以使用F7进行编译,即而是整个重新编译,花的时间比较长;ucGUI移植LCD_CONTROLLER (-1) /* lcd控制器的具体型号,-1 表示是自己定义的型号*/ ucGUI是可以不带操作系统的;DDS AD9850测试程序:ADC 使用小结:在内部ADC中,单次转换和连续转换的区别:如果用TIME去定时的时候,就要选择单次转换,用定时器去启动转换;如果使用连续转换的话,那么,它是不听TIME定时的,会不听的转换。程序是:ADC_InitStructure.ADC_ContinuousConvMode = DISABLE;采样频率不能太高,2K采样100HZ 方波,频谱图:050100150200250三角波的频谱:050100150200250正弦波的频谱:ADC测试程序:DACtlv5638测试程序红外测试程序:DMA使用心得:使用的例子是官方的例程;调试了半天,原来是没有打开时钟;RCC_AHBPeriphClock

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论