文号
t62010
阅读
7585
回复
8
收藏
4
请教一个小白问题关于stm32的中断
2013/09/23
IP:北京
我用的库函数
问题是
不知道系统是如何知道那个函数就是中断服务函数??如何配置??
貌似没有类似51里interrupt的关键字??这是例程里的串口中断
纠结啊
求教
QQ截图20130923204302.png
这是程序图片(下面那个预处理判断没截全不过不重要。。)
可能图片看着更爽吧
13年3个月前IP:未同步
645663
1楼
基础问题,请先自行补习!

STM32的中断服务函数都集中在stm32f10x_it.c和stm32f10x_it.h中定义;中断的管理需要借助嵌套向量中断控制器(必须配置)!
引用
评论
1176764177作者
13年3个月前IP:未同步
645665
2楼
ry7740kptv 发表于 2013-9-23 21:40
基础问题,请先自行补习!

STM32的中断服务函数都集中在stm32f10x_it.c和stm32f10x_it.h中定义;中断的 ...


能具体点么
我看stm32f10x_it.c里面全是空的函数#include \"stm32f10x_it.h\"



void NMI_Handler(void)
{
}

void HardFault_Handler(void)
{
  /* Go to infinite loop when Hard Fault exception occurs */
  while (1)
  {
  }
}

void MemManage_Handler(void)
{
  /* Go to infinite loop when Memory Manage exception occurs */
  while (1)
  {
  }
}


void BusFault_Handler(void)
{
  /* Go to infinite loop when Bus Fault exception occurs */
  while (1)
  {
  }
}

void UsageFault_Handler(void)
{
  /* Go to infinite loop when Usage Fault exception occurs */
  while (1)
  {
  }
}

void SVC_Handler(void)
{
}

void DebugMon_Handler(void)
{
}

void PendSV_Handler(void)
{
}

void SysTick_Handler(void)
{
}nvic能配置中断响应优先级和抢占优先级
到底咋配置?
郁闷啊
引用
评论
13年3个月前IP:未同步
645700
3楼
在那个startup的汇编文件中
引用
评论
13年3个月前IP:未同步
645701
4楼
引用
评论
1176764177作者
13年3个月前IP:未同步
645788
5楼
10班陈大葱22号 发表于 2013-9-24 08:45
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX


那个汇编文件不是初始化内存然后引导进入main函数么
sysetminit貌似是初始化各种时钟??
比如我要用定时器中断
能给下配置流程么
都用那些库文件
头疼啊
。。。
引用
评论
13年3个月前IP:未同步
646037
6楼
请看启动文件   用库的话我帮不了你,我一直是直接操作寄存器。启动文件里面写了标准的中断服务名称,后面有个“weak”  配置好nvic,开启定时器的中断使能,随便在哪个c文件里面写中断函数,函数名要和启动文件里的严格一致。这时候出发中断就能进中断服务了。  要是还不明白,你还是去问度娘吧。
引用
评论
1176764177作者
13年3个月前IP:未同步
646095
7楼
mixsall 发表于 2013-9-26 01:25
请看启动文件   用库的话我帮不了你,我一直是直接操作寄存器。启动文件里面写了标准的中断服务名称,后面 ...


谢了找到原因了
因为我的编辑器不支持汇编文件所以那个启动没加进来以至于找了半天也没找到。。
引用
评论
笔记
{{note.content}}
{{n.user.username}}
{{fromNow(n.toc)}} {{n.status === noteStatus.disabled ? "已屏蔽" : ""}} {{n.status === noteStatus.unknown ? "正在审核" : ""}} {{n.status === noteStatus.deleted ? '已删除' : ''}}
  • 编辑
  • 删除
  • {{n.status === 'disabled' ? "解除屏蔽" : "屏蔽" }}
我也是有底线的