stm32f103从头开始
stm32f103从头开始
脱掉三千烦恼丝
ucos,linux,stm32,51
展开
-
STM32从零开始(八)PWM
这个是用来控制她是输入捕获还是输出比较的,咱们pwm就是输出比较。所以要写的位有这几个:一般置pwm即可一般置1,为了安全,无法立即写入ccer的这个寄存器也是有用的这个是设置输出是高电平有效还是低电平有效和这个搭配着看,比如当cnt小于ccr1,110的时候是高电平,然后cc1p设置为0,oc1高有效,向上计数的话,那就是先亮再灭。http://www.360doc.com/content/14/1211/10/6828497_432083097.shtml 看这篇文章即..原创 2020-07-30 15:25:10 · 638 阅读 · 0 评论 -
STM32从零开始(四)详解GPIO库函数
/* ------------ RCC registers bit address in the alias region ----------------*/#define AFIO_OFFSET (AFIO_BASE - PERIPH_BASE)/* --- EVENTCR Register -----*//* Alias word address of EVOE bit */#define EVCR_OFFSET (AFIO_原创 2020-05-24 13:13:26 · 6418 阅读 · 2 评论 -
STM32从零开始(五)详解RCC库函数
目录1.将RCC时钟配置重置为默认重置其实不用单独调用,因为系统会自动运行systemInit这个函数,将时钟在启动的时候置为72mhz。具体每句话其实就是把rcc寄存器不同的位设置一下,设置的结果看手册第六章最后一节,rcc寄存器那里,一个一个对应过去即可/** * @brief Resets the RCC clock configuration to the default reset state. * @param None * @retval None */void原创 2020-05-24 22:56:18 · 7440 阅读 · 0 评论 -
STM32从零开始(二) 点亮led灯
先看头文件#ifndef __GPIO_LED72MHZ__#define __GPIO_LED72MHZ__#define GPIOB_BASE 0x40010c00#define GPIOB_CRH (GPIOB_BASE + 0x04)#define GPIOB_ODR (GPIOB_BASE + 0x0c) #define rGPIOB_CRH (*(unsigned int...原创 2020-05-03 21:19:29 · 600 阅读 · 0 评论 -
关于stm32抢占优先级和子优先级中难以理解的地方
他说的是4位,我一开始理解的是0123四个数。这样一看就理解了。3位就是可以2的三次方,也就是8。而响应优先级一位,就是2的一次方。2*8=16,所以就是16。这个寄存器好像在corem3内核里边,她外边没咋写。所以不用管了,知道咋用就行了#define NVIC_PriorityGroup_0 ((uint32_t)0x700) /*!< 0 bits for pre-emption priority原创 2020-07-03 22:15:03 · 1354 阅读 · 0 评论 -
STM32——FSMC里边贼难理解的一个,就是地址移位终于搞懂了
https://blog.csdn.net/call_lkc/article/details/76168485这篇文章讲的很详细,但是我终于理解了为啥地址右移了一位我们经常看到这句这个方括号是这样的本来是这样的,HADDR【27:0】意思是有28跟线,【25:1】的意思是第一根线到第25根线。HADDR[25:0] 位包含外部存储器地址,由于 HADDR 为字节地址,而存储器按字寻址,所以根据存储器数据宽度不同,当 Bank1 接的是 8 位宽度存储器的时候:HADDR[25:0]对应 FSMC原创 2020-07-10 21:25:39 · 4461 阅读 · 6 评论 -
STM32从零开始(三) 点亮led灯并且配置时钟为72mhz
stm32的时钟就是这个图。时钟她是一级一级整上去的。通过pll锁相环,把外部晶振的频率给他顶上去。再需要多少就分频多少,得到需要的频率我们要通过外部晶振HSE来得到apb2处的点亮gpiob处的流水灯。需要的是72mhz的频率所以看图是这么个路线但是这个是要配置的。所以这个是内部时钟,上电以后内部时钟先运行,让cpu能够切换到外部时钟那里去。所以我们看图,先是这个,决定输入的...原创 2020-05-06 17:03:22 · 4306 阅读 · 2 评论 -
STM32从零开始(一) 一些遇见的错误(一直更新)
一GPIO_LED72MHZ.c(10): warning: #1295-D: Deprecated declaration ledInit - give arg typesGPIO_LED72MHZ.c(10):警告:#1295-D:不赞成的声明ledInit—给出参数类型解决办法://void ledInit();因为括号里没加void造成的报错,这个就错了void ledInit...原创 2020-05-03 18:57:49 · 1555 阅读 · 2 评论 -
STM32从零开始(六)外部中断
1.设置中断优先级分组。//类似于划分“阶级成分”2.设置某中断的中断优先级//类似于判定具体的“阶级成分”3.使能NVIC中的该中断//类似于“宣布判决”原创 2020-07-07 23:18:57 · 1079 阅读 · 0 评论