STM32
登录
直播中
史娟
7年用户
144经验值
私信
关注
[问答]
使用库函数出现错误
开启该帖子的消息推送
STM32
定时器
我想用
ti
M3的输入捕获来解码红外,需要使用到库函数TIM_GetITStatus,TIM_ClearITPendingBit和TIM_GetCapture3,我在开头添加了#include "
STM32
f10x_tim.h"
可是编译的时候一直说T“EST.axf: Error: L6218E: Undefined symbol TIM_ClearITPendingBit (referred from timer.o).”
是不是需要把库函数的那个stm32f10x_tim.c文件添加进工程,那个文件在哪里可以找到?还是有其他办法。
#include
#include "stm32f10x_tim.h"
#include "timer.h"
#include "led.h"
//Mini STM32
开发板
//通用定时器 驱动代码
//发烧友@ALIENTEK
//2010/6/1
vu8 irtime,irCode; //红外用全局变量
vu8 irpro_ok,irok; //完成标志位
vu8 IRcord[4],irdata[33];
vu8 beginIRrcv=0;//开始接收到遥控的标志
vu8 irNum;
vu8 startflag;
/**
* @brief This function handles SysTick Handler.
* @param None
* @retval None
*/
//void SysTick_Handler(void)
//{
// TimingDelay_Decrement();
//}
//定时器3中断服务程序
//
void TIM3_IRQHandler(void)
{
//if(TIM3->SR&0X0001)//溢出中断
//{
// LED1=!LED1;
//}
//TIM3->SR&=~(1<<0);//清除中断标志位
extern vu8 startflag;
extern vu16 ccd [80] ;
static int id = 0 ;
static vu16 cur = 0 ;
static vu16 last = 0 ;
u16 step ;
int fh;
if(TIM_GetITStatus( TIM3, TIM_IT_CC3 ))
{
TIM_ClearITPendingBit(TIM3, TIM_IT_CC3);
//ccd[id ++ ] = TIM_GetCapture2(TIM3) ;
cur = TIM_GetCapture3(TIM3) ;
#if 1
if(cur > last )
{
step = cur - last ;
}
else
{
step = 65535 - last + cur ;
}
//step 为两次捕获的计数值的差,为了避免浮点数运算,此处,把浮点数放大十倍,转换成整数计算。
fh = step *10 / (2400) ;
if( (fh > 130) && (fh <140) ) //同步开始头,13.5ms
{
id = 0 ;
}
else if( (fh > 9 ) && (fh <13 )) // 1.125ms
{
ccd[id ++ ] = 0 ;
}
else if( (fh > 20 ) && (fh <24 )) // 2.245ms
{
ccd[id ++ ] = 1 ;
}
else if( (fh > 40 ) && (fh <60 )) // 5ms,后置单脉冲
{
id = 0 ;
startflag=1;;
}
#endif
}
last = cur ;
}
void Timerx_Init(u16 arr,u16 psc)
{
RCC->APB1ENR|=1<<1;//TIM3时钟使能
TIM3->ARR=arr; //设定计数器自动重装值//刚好1ms
TIM3->SC=psc; //预分频器7200,得到10Khz的计数时钟
//这两个东东要同时设置才可以使用中断
TIM3->DIER|=1<<0; //允许更新中断
TIM3->DIER|=1<<6; //允许触发中断
TIM3->CR1|=0x01; //使能定时器3
TIM3->EGR|=0X08;
TIM3->SR|=0X0808;
TIM3->CCMR2|=0X0001; //TI3输入,每个边沿采样
TIM3->CCER|=0X0300; //下降沿捕获,捕获使能
MY_NVIC_Init(1,3,TIM3_IRQChannel,2);//抢占1,子优先级3,组2
}
回帖
(3)
杨军
2019-4-18 09:31:30
试试增加 STM32F10xR.LIB试试.
试试增加 STM32F10xR.LIB试试.
举报
王海燕
2019-4-18 09:37:29
是直接#include “STM32F10xR.LIB”?我试了,还是不行“..HARDWARETIMERtimer.c(3): error: #5: cannot open source input file "STM32F10xR.LIB": No such file or directory”
是直接#include “STM32F10xR.LIB”?我试了,还是不行“..HARDWARETIMERtimer.c(3): error: #5: cannot open source input file "STM32F10xR.LIB": No such file or directory”
举报
丁峙昌
2019-4-18 09:45:56
回复【3楼】carrie_sky:
-------------------------------
不能这样吧.
你必须找到这个文件,然后把它当成.c文件一样,加到你的工程.另外名字我好像弄错了,不过R.LIB是没错的,你搜索下看看.
回复【3楼】carrie_sky:
-------------------------------
不能这样吧.
你必须找到这个文件,然后把它当成.c文件一样,加到你的工程.另外名字我好像弄错了,不过R.LIB是没错的,你搜索下看看.
举报
更多回帖
rotate(-90deg);
回复
相关问答
STM32
定时器
使用“定时结构停止”
函数出现
错误
2016-10-04
3249
使用sfud_example命令擦除
函数出现
死机是什么原因
2022-12-16
1076
请问这是哪个
函数出
了
错误
?
2019-07-22
929
库函数
工程
错误
如何解决
2020-07-13
955
求助,有关调用DLL,
错误
1097发生于vi中的调用
库函数
节点
2014-11-14
19011
当提示用户输入
函数出现
确定对话框时,如何做到随便按键盘上的一个键来消除对话框?
2017-12-22
4158
labview中使用visa和u***-485通讯中截取字符串
函数
使用问题
2016-07-29
4266
在使用labview调用外部
函数
时
出现
1097
错误
,参数定义和设置都正确,换一台电脑没有
错误
但没有
出现
正确结果
2017-12-28
5597
在使用labview调用外部
函数
时,老是
出现
1097
错误
,参数定义和设置都正确。
2016-07-25
12019
labview调用DLL
出现
问题
2022-04-20
5852
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
英国威廉希尔公司网站
william hill官网 版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分