如何添加一个新功能:
1例如加入can,先将can.c添加到工程里。main.c中需要包含#include “can.h”。
2. stm32f10x_conf.h需要将//#include "stm32f10x_can.h"前面的反斜杠去掉,就是将其包含进来。
3在中断函数stm32f10x_it.c里,需要添加原先can自己的中断函数void USB_LP_CAN1_RX0_IRQHandler(void)。
4然后再配置管脚、时钟、中断向量表。
5对于用内部时钟的管脚配置:usart1使用内部时钟的管脚配置。
时钟配置:
void RCC_Configuration(void)
{
RCC_HSICmd(ENABLE);//使能内部高速晶振 ;
RCC_SYSCLKConfig(RCC_SYSCLKSource_HSI);//选择内部高速时钟作为系统时钟SYSCLOCK=8MHZ
RCC_HCLKConfig(RCC_SYSCLK_Div1);//选择HCLK时钟源为系统时钟SYYSCLOCK
/* Enable GPIO clock */
RCC_APB2PeriphClockCmd(USARTy_GPIO_CLK | USARTz_GPIO_CLK | RCC_APB2Periph_AFIO|RCC_APB2Periph_GPIOC|RCC_APB2Periph_GPIOB, ENABLE);
#ifndef USE_STM3210C_EVAL
/* Enable USARTy Clock */
RCC_APB2PeriphClockCmd(USARTy_CLK, ENABLE);
#else
/* Enable USARTy Clock */
RCC_APB1PeriphClockCmd(USARTy_CLK, ENABLE);
#endif
/* Enable USARTz Clock */
RCC_APB1PeriphClockCmd(USARTz_CLK, ENABLE);
// RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB , ENABLE);//使能APB2外设GPIOB时钟
}
管脚配置,中断向量表配置跟外部时钟一样配。