Blog's Home

越努力,越幸运!

数据结构<三>——线性表的顺序存储

1、scanf()函数用法

scanf()返回接收到的变量值的个数!!!这个一定要记得。

C++笔记<一>

好久没写文章了,一个多月的寒假真是把人都给惰化了。这学期开始学C++,陆续会有一些小笔记传上来。

1、const修饰符

<C和指针>学习笔记(2)--运行时环境

1、程序“太大”

什么时候程序显得“太大”呢?就是当它运行得太慢的时候。

2、提高效率

(1)改进算法比优化代码更有效率。

(2)程序中使用最频繁的那部分代码运行速度如果能更快一些,将能够大大提高程序的整体运行速度。

<C和指针>学习笔记(1)--指针表达式

在进入主题之前,我们先来了解一些基本概念,这有助于理解后面列举的指针表达式。

①结合性:就是一串操作符是从左向右执行还是从右向左执行。

STM32——库函数分析:ADC相关

打铁还是得趁热,前几天期末复习去了,几天没碰32,又差点提不起劲了,不过,我岂是这么容易就放弃的人,哈哈。今天我们来学习STM32的ADC(模拟/数字转换器)模块。

在此之前,做几点说明:

STM32——库函数分析:DAC&DMA相关

今天我们来学习STM32的DAC模块与DMA控制器的配合使用。

一、DAC配置

STM32——库函数分析:TIM相关

今天我们来学习STM32的定时器。以STM32F103为例,一共有8个定时器,其中,高级定时器2个(TIM1、TIM8)、基本定时器2个(TIM6、TIM7)、通用定时器4个(TIM2、TIM3、TIM4、TIM5)。我们以TIM3为例来详细讲述定时器定时功能的配置。

static void TIM3_Mode_Config(void)// 此处static关键字用于修改函数链接属性,表明此函数只能在此源文件中访问
{
  TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
  /* 设置TIM3CLK 时钟为36MHZ */
  RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); 
  /* 基本定时器配置 */
  /*  APB1 = 36MHz,因为1999 + 1 = 2000分频>1分频,所以由参考手册可知,定时器3频率为36*2 = 72MHz,而72,000,000/2,000 = 36000 ,设计数
   值满3600进一次中断,每10次中断进行一次取反,即每1s对LED1取一次反   */
  TIM_TimeBaseStructure.TIM_Period = 3600;        //当定时器从0计数到255,即为266次,为一个定时周期
  TIM_TimeBaseStructure.TIM_Prescaler = 1999;    //设置预分频:
  TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1 ;//设置时钟分频系数
  TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  //向上计数模式
  TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure);
  /* TIM3 enable counter */
  TIM_Cmd(TIM3, ENABLE);                   // 使能定时器3
  TIM_ITConfig(TIM3,TIM_IT_Update, ENABLE);// 允许update中断
  NVIC_Config_PWM();// 必须配置中断优先级,使能相关中断
}

上述代码为定时器配置代码。

STM32——库函数分析:USART相关

在调用相关库函数对USART模块进行配置前,我们需要先设定好相应的参数。首先,定义一个结构体USART_InitStructure,其类型为USART_InitTypeDef,它的成员即为配置USART需要的相关参数。第二就是开启USART时钟,其挂载于高速APB线(APB2)上。第三是进行参数设定,这里设定波特率为115200,字长为8位,1个停止位,无奇偶校验,无硬件流控制,接收与发送均开启模式。限于文章篇幅,所以此处没有提到USART相关IO口的配置,在编码时请注意添加。参数设定代码如下:

STM32——SysTick定时器

今天我们来学习STM32中的SysTick定时器。

SysTick被捆绑在NVIC中,用于产生SysTick异常(异常号:15)。SysTick对操作系统来说非常重要,在以前,操作系统以及所有使用了时基的系统,都必须要一个硬件定时器来产生需要的“滴答”中断,作为整个系统的时基。

STM32——带参数的宏定义

在编程的过程中,使用带参数的宏有时会使得程序看起来更加直观、操作也更加方便

如果我要点亮一个LED灯,我可以这样写

«234567891011»
欢迎来到黄建雄的博客,本站点不定期进行博文更新,敬请期待!
  [查看权限]

站内搜索
友情链接
  • 订阅本站的 RSS 2.0 新闻聚合

Powered By Z-Blog 2.2 Prism Build 140101

Copyright © 2015 by 黄建雄. 本站文章除特别声明系转载外,均保留所有权利.
知识共享许可协议本作品采用知识共享署名 2.5 中国大陆许可协议进行许可,欢迎转载,但请注明来自Blog's home,并保持转载后文章内容的完整。        
湘ICP备15003615号 工业和信息化部

  • 您的鼓励是对我最大的认可