历史上的今天
返回首页

历史上的今天

今天是:2024年09月16日(星期一)

2018年09月16日 | 基于STM32的旋转编码器

2018-09-16 来源:eefocus

..\..\SYSTEM\usart\usart.c(1): error:  #5: cannot open source input file "sys.h": No such file or directory


#include "..\sys\sys.h"这样就可以找到路径了


再次编译出现了问题


..\..\SYSTEM\usart\..\sys\sys.h(3): error:  #5: cannot open source input file "stm32f10x_lib.h": No such file or directory没有stm32f10x_lib.h这个库函数


怎么办???


上网查了很多资料,都说新版本的 MDK 把 stm32f10x_lib.h 这个文件已经变成

stm32f10x.h 了。而且都是说把 stm32f10x.h 改成 stm32f10x_lib.h,但是怎么改却

没说明。首先找到安装路径下的这个文件夹

注意一定要是 Backup.001 里面的 ARM 中才找到这个,只有这个 STM32F10x 的

文件夹里才有"stm32f10x_lib.h",其他地方时没有的。然后把 STM32F10x 这个文

件整个复制下来。粘贴到工程文件中,路径随便,但一定要和该工程的其他东西

放在同一个文件夹中


这个只要把..\..\用好就行了 和linux下面的cd .. /../..


目录结构如此可以解决这个问题




可是我的电脑里面就是没有这个头文件,我的编译再次出现了困难?????


后来在网上看到一个帖子发现这是旧版的才有新版的只需要使用stm32f10x.h就可以了




后面又出现了一个..\SYSTEM\sys\sys.c(76): error:  #136: struct "" has no field "IPR"




..\HARDWARE\EXTI\exti.c(65): error:  #20: identifier "EXTI15_10_IRQn" is undefined


直接用40代替


..\HARDWARE\EXTI\exti.c - 0 Error(s), 0 Warning(s).




..\HARDWARE\TIMER\timer.c(42): error:  #20: identifier "TIM4_IRQn" is undefined


直接用30代替


..\HARDWARE\TIMER\timer.c(85): error:  #20: identifier "TIM3_IRQn" is undefined


直接用29代替


..\HARDWARE\TIMER\timer.c - 0 Error(s), 0 Warning(s).






//配置向量表  

#ifdef  VECT_TAB_RAM

MY_NVIC_SetVectorTable(NVIC_VectTab_RAM, 0x0);

#else   

MY_NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0);

#endif


..\SYSTEM\sys\sys.c(127): error:  #20: identifier "NVIC_VectTab_FLASH" is undefined



用8位的单片机,一般C语言中可以对某寄存器或输出端口进行移位操作和位取反操作,可以使LED灯流水或闪烁.

我想问下:

1. STM32对GPIO操作一般用库函数,那么怎么使某一位端口取反?怎么使某口移位流水? 请写个示范代码.


2.我见一个例子中对PC6端口某个LED闪烁代码如下,不知是什么意思? 是不是取反操作?为什么要先读出位?

GPIO_WriteBit(GPIOC, GPIO_Pin_6, (BitAction)(1 -GPIO_ReadOutputDataBit(GPIOC, GPIO_Pin_6)));


3.中断向量表是不是都是固定如下的?还是某些情况要重设?

/* Set the Vector Table base location at 0x20000000 */ 

  NVIC_SetVectorTable(NVIC_VectTab_RAM, 0x0); 

#else  /* VECT_TAB_FLASH  */

  /* Set the Vector Table base location at 0x08000000 */ 

  NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0);


推荐阅读

史海拾趣

Advanced Milliwave Laboratories Inc公司的发展小趣事

AML深知技术创新是企业发展的核心动力。因此,公司始终坚持自主研发和技术创新,不断推出新的微波产品和技术。这些新产品不仅具有更高的性能和更广泛的应用范围,还进一步提升了AML在微波技术领域的竞争力。同时,AML还注重与高校和研究机构的合作,共同开展技术研发和人才培养,为公司的长远发展提供了有力支持。

GE Solid State公司的发展小趣事
按照电路图搭建电路,注意元件的连接方式和极性。
Amkor公司的发展小趣事
按照电路图搭建电路,注意元件的连接方式和极性。
Crocus公司的发展小趣事

展望未来,Crocus将继续致力于TMR传感器技术的研发与创新。公司计划进一步拓展产品线,提升产品性能,满足更多领域的需求。同时,Crocus还将加强与产业链上下游企业的合作,共同推动整个电子行业的发展。

这五个故事展示了Crocus公司在电子行业中的发展历程和取得的成就。从创立初期的艰难探索到技术突破、产品升级、与Allegro的合并、市场拓展以及未来的持续创新,Crocus始终保持着积极进取的精神和不断创新的态度,为电子行业的发展做出了重要贡献。

Eastman Kodak Company公司的发展小趣事

2012年1月,伊士曼柯达公司宣布申请破产保护。这一消息震惊了全球,也让人们不禁对这家百年老店的前景感到担忧。然而,在破产保护期间,柯达并没有放弃努力。公司积极寻求重组方案,通过出售非核心资产、削减成本等方式,逐步恢复了盈利能力。最终,在2013年5月,柯达成功退出了破产保护程序,开始了新的发展历程。

Automatic Connector公司的发展小趣事

随着全球电子市场的不断扩大,Automatic Connector公司积极寻求市场拓展的机会。公司首先在国内市场取得了良好的业绩,然后逐步将目光投向了国际市场。通过与国外代理商的合作,Automatic Connector的产品成功进入了欧洲、北美等发达地区的市场。在国际市场的竞争中,公司不断提升产品性能和服务水平,逐渐树立了良好的品牌形象。

问答坊 | AI 解惑

微波电路及设计的基础知识

微波电路及设计的基础知识…

查看全部问答>

《单片机原理·接口及应用》学习参考

《单片机原理·接口及应用》学习参考…

查看全部问答>

verilog中代码风格分析

verilog 代码例程上这样写:output so;reg bb;always@()begin.......bb<= ..........end  assign so= bb;为什么不直接output reg so;always @()begin........so<= .............end这种风格 有什么好处呢?…

查看全部问答>

招聘嵌入式软件工程师或硬件主管。版主手下留情!

如有想换工作可以到这个网站看看http//www.choicemmed.com mail:hr@choicemmed.com…

查看全部问答>

关于WinCE开发的一些常识问题

我一直以来都是用Linux的,从来没有用过商业的嵌入式OS,现在有些需要想了解一下。 WinCE开发从哪里可以下到最新的试用版或者免费的OS(用了学习和试验)? 现在最新的WinCE是哪个版本? 其与什么Pocket PC等是什么关系? 做WinCE的开发用什么开 ...…

查看全部问答>

硕士毕业论文的课题做什么好。

我现在正处于选择课题的困惑之中,我导师是做软件的,但我想做嵌入式开发,他让我自己找一个题目做,但是现在不知道做什么好,无从下手,大家给点意见。最后有公司计划开发什么课题,需要人做前期知识积累,我可以无条件参加,甚至可以毕业后到贵公 ...…

查看全部问答>

C8051F组的能不能公布Protel格式的图纸

收到板后,焊接了几个芯片,发现没有图纸极不方便,尤其是没有PCB图,由于板子上的丝印有的地方不太清楚,老是分不清正反方向。…

查看全部问答>

LPC1114的GPIO低电平中断是不是有BUG?

LPC1114的数据手册上说:GPIO配置为边沿触发中断时,可以用清除GPIO的中断清除寄存器IC清除,如果是电平触发的中断,该寄存器无效! 我试了下,当我设置成边沿触发时,如果不用IC清除,不管被设置的管脚上电平如何,程序将一直在中断函数中循环执 ...…

查看全部问答>

不知MSP430的价格怎样?

不知MSP430的价格怎样?我现在是在用PIC的单片机,在差不多相同性能的片子上,哪种的性价比更高。MSP430的仿真器贵吗?通用性咋样?以前用PIC的单片机感觉偏贵了,而且C编译器还要掏钱买,冲着这点我就想从我的设计中废了PIC.…

查看全部问答>

dsp外接内存的问题

大家好:我用OMAP芯片,DSP为C674x的 通过EMIFB外接了一块内存,16位。之前开发板的程序在32位外接内存上没问题,我将EMIF的寄存器设置为16位,但还是不对。程序始终显示“running”不报错,请教! (cmd文件是这样的: MEMORY {    ...…

查看全部问答>