ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:18.73KB ,
资源ID:14703816      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/14703816.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(完整版STM32F103通用教程文档格式.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

完整版STM32F103通用教程文档格式.docx

1、 . 1 . 2 . 2 . 2 . 2 . 2 . 2IO的输入和输出宏定义方式: . 3读取某个IO的电平函数: . 3IO口方向切换成双向 . 3IO 口外部中断的一般步骤: . 3内部ADC使用总结: . 4LCDTFT函数使用大全 . 5TFTLCD使用注意点: . 5IO端口宏定义和使用方法: . 6Keil使用心得: . 6ucGUI移植 . 6DDS AD9850测试程序: . 6ADC 使用小结: . 7ADC测试程序: . 9DACtlv5638测试程序 . 9红外测试程序: . 9DMA使用心得: . 9通用定时器使用: . 9BUG发现: . 10编程总结:时钟总结:

2、. 10汉字显示(外部SD卡字库): . 11字符、汉字显示(内部FLASH) . 12图片显示: . 16触摸屏: . 17引脚连接: . 19delay_ms(u16 nms);delay_us(u32 nus);1)使能IO 口时钟。调用函数为RCC_APB2PeriphClockCmd()。2)初始化IO 参数。调用函数GPIO_Init();3)操作IO。RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);RCC_APB2Peri

3、phClockCmd(RCC_APB2Periph_GPIOC,ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD,ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE,ENABLE);GPIO_InitTypeDefGPIO_InitStructure; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13|GPIO_Pin_15; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; GPIO_Init(GPIOA, &G

4、PIO_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, & /LED0-PA.8 端口配置 /推挽输出技巧:如果为同一端口的不同引脚,可以使用或运算,如GPIO_InitStructure.GPIO_Pin =GPIO_Pin_13|GPIO_Pin_15;GPIO_SetBits(GPIOA,

5、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);/整体输出一个值#define DATAOUT(x) GPIOB-ODR=x; /数据输出#define DATAIN GPIOB-IDR; /数据输入#define DATAOUT(DataVal

6、ue)GPIO_Write(GPIOB,(GPIO_ReadOutputData(GPIOB)&0xff00)|(DataValue&0x00FF); /PB07,作为数据线(一) 读出一个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_Rea

7、dInputDataBit(GPIOA,GPIO_Pin_0)(二) 读出某个IO口的全部电平GPIO_ReadInputData(GPIOC)IO口方向切换成双向IIC里面的一个实例#define SDA_IN() GPIOC-CRH&=0XFFFF0FFF;GPIOC-CRH|=8CRH|=31)初始化IO 口为输入。2)开启IO 口复用时钟,设置IO 口与中断线的映射关系。3)初始化线上中断,设置触发条件等。4)配置中断分组(NVIC),并使能中断。5)编写中断服务函数。例程:开启IO 口复用时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RC

8、C_APB2Periph_AFIO,ENABLE);GPIOA.13 中断线以及中断初始化配置 GPIO_EXTILineConfig(GPIO_PortSourceGPIOA,GPIO_PinSource13); EXTI_InitTypeDef EXTI_InitStructure; EXTI_InitStructure.EXTI_Line=EXTI_Line13; EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling; / 此外还

9、可以为(EXTI_Trigger_Rising,EXTI_Trigger_Rising_Falling) EXTI_InitStructure.EXTI_LineCmd = ENABLE;EXTI_Init(&EXTI_InitStructure); NVIC_InitTypeDef NVIC_InitStructure; NVIC_InitStructure.NVIC_IRQChannel = EXTI15_10_IRQn;/使能按键所在的外部中断通道 / 此外还可以为NVIC_InitStructure.NVIC_IRQChannel = EXTI0_IRQn ; NVIC_InitStr

10、ucture.NVIC_IRQChannelPreemptionPriority = 0x02;/抢占优先级2, NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x01; /子优先级1 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; /使能外部中断通道 NVIC_Init(&NVIC_InitStructure);中断函数的编写:(蓝色字体为格式)void EXTI0_IRQHandler(void)delay_ms(10); /消抖if(EXTI_GetITStatus(EXTI_Line0) != RESET) /检查指定的EXTI0线路触发请求发生与否 LED0=!LED0;LED1=!LED1;EXTI_ClearITPendingBit(EXTI_Line0); /清除EXTI0线路挂起位void EXTI15_10_IRQHandler(void)if(EXTI_GetITStatus(EXTI_Line13) != RESET) else if (EXTI_GetITStatus(EXTI_Line15) !EXTI_ClearITPendingBit(EXTI_Line13); /清除EXTI13线路挂起位EXTI_ClearITPendi

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1