上一页 1 ··· 6 7 8 9 10 11 下一页
摘要: 也许你以为IO和AFIO是很简单的,事实上有几个误区可能很多人都没注意过,当你只用现成的开发板来学习的时候,别人已经帮你做好了资源分配.所有的外设功能学习都是照着别人给你的例程去做的,这才没让你觉得奇怪。先问自己一个问题:STM32中,USART2和TIM2是共用相同IO的,你如何决定这几个IO到底是做USART2还是做TIM2呢?如果你要同时使用USART2和TIM2,该怎么办?1、不是说使用了IO的复用功能就一定要启动RCC_APB2Periph_AFIO的Clock的,参考下图只有使用了AFIO的事件控制寄存器、AFIO的重映射功能以及外部中断(EXTI)控制寄存器才需要开启AFIO的时 阅读全文
posted @ 2013-03-14 15:02 wwjdwy 阅读(277) 评论(0) 推荐(0) 编辑
摘要: 计数器模式原子的链接:http://www.openedv.com/posts/list/11832.htmTIM2-TIM5可以由向上计数、向下计数、向上向下双向计数。向上计数模式中,计数器从0计数到自动加载值(TIMx_ARR计数器内容),然后重新从0开始计数并且产生一个计数器溢出事件。在向下模式中,计数器从自动装入的值(TIMx_ARR)开始向下计数到0,然后从自动装入的值重新开始,并产生一个计数器向下溢出事件。而中央对齐模式(向上/向下计数)是计数器从0开始计数到自动装入的值-1,产生一个计数器溢出事件,然后向下计数到1并且产生一个计数器溢出事件;然后再从0开始重新计数中断时间:自动加 阅读全文
posted @ 2013-03-13 21:04 wwjdwy 阅读(401) 评论(0) 推荐(0) 编辑
摘要: Systick_config 1 void Systick_config(uint16_t loadvalue) 2 { 3 SysTick_Config(loadvalue); 4 5 /* Configure the SysTick handler priority */ 6 NVIC_SetPriority(SysTick_IRQn, 0x0); 7 8 } 9 volatile uint32_t i=0;10 11 /* SystemCoreClock / 100 Setup SysTick Timer for 10 msec interrupts */ SysTi... 阅读全文
posted @ 2013-03-13 12:23 wwjdwy 阅读(1106) 评论(0) 推荐(0) 编辑
摘要: 0UL 表示 无符号长整型 0 1UL 表示 无符号长整型 1如果不写UL后缀,系统默认为:int, 即,有符号整数。 阅读全文
posted @ 2013-03-13 11:21 wwjdwy 阅读(350) 评论(0) 推荐(1) 编辑
摘要: 先设置两个中断输入口 PA6/PA7 浮空输入 PA6下降沿,PA7上升沿EXTI_Config 1 void EXTI_Config(void) 2 { 3 GPIO_InitTypeDef GPIO_InitStructure; 4 EXTI_InitTypeDef EXTI_InitStructure; 5 NVIC_InitTypeDef NVIC_InitStructure; 6 7 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); 8 9 GPIO_InitStruc... 阅读全文
posted @ 2013-03-12 12:15 wwjdwy 阅读(325) 评论(0) 推荐(0) 编辑
摘要: 原文地址:有关推挽输出、开漏输出、复用开漏输出、复用推挽输出以及上拉输入、下拉输入、浮空输入、模拟输入区别作者:Roberl最近在看数据手册的时候,发现在Cortex-M3里,对于GPIO的配置种类有8种之多:(1)GPIO_Mode_AIN 模拟输入 (2)GPIO_Mode_IN_FLOATING 浮空输入(3)GPIO_Mode_IPD 下拉输入 (4)GPIO_Mode_IPU 上拉输入 (5)GPIO_Mode_Out_OD 开漏输出(6)GPIO_Mode_Out_PP 推挽输出(7)GPIO_Mode_AF_OD 复用开漏输出 (8)GPIO_Mode_AF_PP 复用推挽输出对 阅读全文
posted @ 2013-03-12 11:47 wwjdwy 阅读(333) 评论(0) 推荐(0) 编辑
摘要: GPIO 输入上拉,按键按下,pin接地,触发中断Key_Config 1 void Key_Config(void) 2 { 3 GPIO_InitTypeDef GPIO_InitStructure; 4 5 RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE); 6 7 /* Configure KEY1 Button PC4*/ 8 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE); 9 10 GPIO_InitStructure.GPIO_Mode = G... 阅读全文
posted @ 2013-03-11 19:54 wwjdwy 阅读(453) 评论(0) 推荐(0) 编辑
摘要: Usart1_Configvoid Usart1_Config(void){ GPIO_InitTypeDef GPIO_InitStructure; USART_InitTypeDef USART_InitStructure; //使能 PA AFIO总线 串口1 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA| RCC_APB2Periph_AFIO| RCC_APB2Periph_USART1,ENABLE); ... 阅读全文
posted @ 2013-03-11 14:25 wwjdwy 阅读(370) 评论(0) 推荐(0) 编辑
摘要: Led_Configvoid Led_Config(void){ GPIO_InitTypeDef GPIO_InitStructure; /* Enable GPIOB, GPIOC and AFIO clock */ RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD | RCC_APB2Periph_AFIO , ENABLE); //RCC_APB2Periph_AFIO /* LEDs pins configuration */ GPIO_InitStructure.GPIO_Pin = GPIO_LED_ALL; G... 阅读全文
posted @ 2013-03-11 14:21 wwjdwy 阅读(324) 评论(0) 推荐(0) 编辑
摘要: 网上关于发送字符的代码大多如下:USART_SendData(USART1, (uint8_t)ch);while( USART_GetFlagStatus(USART1, USART_FLAG_TC) != SET);其实咋一看是说的通的,但是在仔细看手册的时候发现 TC 和 TXE 标志位在复位的时候被置1 ,这样第一次while循环就是没有用的。这样导致了首次第一个字符还没有被输出,就被后面的字符覆盖掉,造成实际看到的丢失现象。解决办法就很简单:在前面加上一句 USART1->SR;具体代码如下:USART1->SR;USART_SendData(USART1, (uint8 阅读全文
posted @ 2013-03-09 08:49 wwjdwy 阅读(1873) 评论(0) 推荐(0) 编辑
上一页 1 ··· 6 7 8 9 10 11 下一页