发 帖  
原厂入驻New
[问答]

如何使PIC恢复活力

182 PIC
分享
大家好,我必须使用PIC32MX575F256H(它附在带有服务器外围设备的PCB上),首先我必须使PIC恢复活力。我不确定正确的方法是什么,因为我对这个东西很熟悉。我的第一步是初始化配置位(窗口-PIC内存视图-配置位-按钮:Generate Source Code to Output-copy在我的initConfigBits.c中生成的代码)。C是一个函数,这个函数包含在这个函数中。另外还有sourcefile initConfigBits.c中的xc.h和plib.h。initConfigBits.c位于相关联的initConfigBits.h中,它在main.c中。我不知道做这件事的正确方法。每个I/O端口具有3个相关寄存器(TrIS,POR和LAT)。我希望I/O端口设置为缺省(未使用)值(=设置为输出tiS位=0,LAT位=0,端口=0)。?)稍后,如果我想使用I/O端口,我将设置端口。XC32提供具有预定功能的端口H。不幸的是,PIC32 MX575 F256H不在端口。简介:我想初始化PIC32MX575F256H。我希望任何人能给我手册或帮助。非常感谢提前。问候P_SI与:MPLAB X IDE v2.15(免费版本)XC32 v1.40(免费版本)main.cinitConfigBits.hinitConfigBits.c一起工作。
PUP.Zip(13.21 KB)-下载32次XCZIP(4.87 KB)-下载29次
0
2020-5-15 13:05:39   评论 分享淘帖 邀请回答
9个回答
配置语法必须在项目中只有一个源文件,但它是什么文件并不重要。头文件必须包含在希望使用头的定义的地方,这是基本的C编程。
2020-5-15 13:12:38 评论

举报

如上所述,要理解的是,语法不是可执行代码,所以将它们放在一个函数中是没有意义的。它们应该只放在一个C文件的顶部,而不是在一个函数内。
2020-5-15 13:21:15 评论

举报

嗨,谢谢你的快速回复。我有点困惑。什么是正确的方法来插入代码中的语法?我的条件必须是:#pragmas必须位于自己的源文件(initConfigBits.c)内的相关头文件initConfigBits.hinitConfigBits.c中,删除该函数。//PIC32MX575F256H配置位设置包括“ConfigBits.h”//ConfigBits.h包括接口描述//DEVCFG3//USERID=No Settingpragma config FSRSSEL=PRIORITY_7//SRS Select(SRS Priority 7)pragma config FCANIO=ON//CAN I/O引脚选择(默认CAN I/O)\pragma配置FUSBIDIO=ON//USB USID选择(由USB模块控制)\\\\\\\\\\\用USB用途选择(由USB模块控制)\\\\\\\prma配置FVBUSUSUSUSUSUSUSUSUSUSUSON配置FVBUSONIO\\\\\\\\\\\\\\\_实用程序配置FVBUSUSUSUSUSUSUSUSUSUSUSUSUSUSUSUSUSUSUSUSUSUSUSUSUSUSUSUSUSUSUSUSUSUSUSnfig UPLLIDIV=DIV_3//USB PLL输入分隔器(3x分隔器)//USB PLL输入分隔器(3x分隔器)\#pragma配置UPLLEN=ON//USBPLPLPLPLPLL启用(禁用和旁路化)////USBPLPLPLPLPLPLPLL输入分隔器(3V_3//USBPLPLL输入分隔器(3x分隔器)\\\\\#pragma配置UPPLPLPLPLPLPLPLPLPLPLPLPLPLPLPLPLPLPLPLPLPLPLPLPL PL PL_3///PLPLPLPLPLPLPLL输入分隔器(3分隔器(3X分隔器(3L(XT+,HS+,EC+PLL)#pragma配置FSOSCEN=OFF//辅助振荡器启用(启用)#pragma配置IESO=ON//内部/外部切换(启用)#pragma配置POSCMOD=HS//主振荡器配置(HS osc模式)#pragma配置OSCIOFNC=OFF//CLKO输出信号在OS上激活CO引脚(禁用)#pragma配置FPBDIV=DIV_1//外围时钟除法器(Pb_Clk是Sys_Clk/1)#pragma配置FCKSM=CSDCMD//时钟切换和监视器选择(时钟开关禁用,FSCM禁用)#pragma配置WDTPS=PS1048576//看门狗定时器后处理器(1:1048576)#pragma配置FWDTEN=OFF//看门狗定时器启用(WDT禁用(SWDTEN位控制)(WDT禁用(SWDTEN位控制))OFF//WDT禁用(WDT禁用(WDT位控制))_//DEVCFCFG0#DEVCFCFG0#DEVCFCFCFG0\\#pragma配置PWPWPWPWPWPWP配置DEBUG=OFF//背景调试器禁用背景调试器启启启启用(调试器禁用)\\\#pragma配置ICICICICICICICICICEMESELICICICICICEMESEL配置ICICESELICICICICICICICICICEMESEL配置ICICICEMESEL ICICEMESEL ICEMESEL ICm Flash Write Protect(.ble)#pragma config BWP=OFF//Boot Flash Write Protect bit(Protection.bled)#pragma config CP=OFF//Code Protect(Protection.bled)initConfigBits.h哪个任务现在具有相关的头文件initConfigBits.h?我认为关联的头文件描述了initConfigBits.c的接口、声明,因此将执行initConfigBits.c。initConfigBits.c的接口、声明……是什么,以及它如何能够“插入”initConfigBits.h?IfNDEF,InCuthBITSsH.Hyr.SythEngRealEnOrthPixsIn组态,HysI/接口定义。???initConfigBits.cendif/*CONFIGBITS_H*/新的main.c代码:include<stdio.h>include<stdlib.h>/*Include用于使用PIC32外围库*/include<plib.h>//Master include用于所有API的文件(应用程序编程接口,Anwenderprogrammierschnittstelle)//museshie如果MPLAB X IDE按钮“生成源码以输出”在“配置位Sour Sour”的头部被触发,源文件中的r stehen oder nur是初始位werden,weil siehe 2 Zeilen tiefer/*定义特殊功能寄存器,CP0 regs*/\include<xc.h&gt//出现CE“代码”包含和lt;InCuthPosith.h & gt;空main(空隙){}我不确定,这个解决方案是正确的。你有解决我的问题的方法吗?请体谅我,我不熟悉这些东西:-谢谢和问候SPS
2020-5-15 13:37:15 评论

举报

你仍然错误地认为语法是可执行代码。它们不是。正如我已经说过的,它们必须只出现在您的一个C文件中,而不是在函数中。您只是混淆了问题,试图将它们放在一个单独的文件中。现在,把它们放进你的主C文件,在你所有的功能之前。
2020-5-15 13:56:24 评论

举报

嗨,谢谢你的耐心。不幸的是,目前还不清楚。我的目标是尽可能把C。因此,在C。应该是空隙主(空隙),α包括头部和可能的任何变量。整个休息(例如,γ语用)应该在头文件和源文件中被外包。有没有办法在单独的文件(例如,initConfigBits.c)中执行#pragmas,或者它是在空主文件(void)之前和#include之后执行#pragmas的唯一解决方案?“你仍然错误地认为语法是可执行代码。它们不是。正如我已经说过的,它们必须只出现在您的一个C文件中,而不是在函数内部。“在我上一篇文章中,我在initConfigBits.c(源文件)中插入了#pragmas,但没有在函数内部,或者我在这里错了吗?”如果可以在单独的文件(例如,initConfigBits.c)中执行#pragmas,那么initConfigBits.c如何在main.c的开头执行?预先感谢并问候SPS
2020-5-15 14:01:28 评论

举报

如上所述,配置语法可以在项目中的任何源文件中。唯一的规则是它们只能被定义一次。这就是为什么把它们放在头文件中是一个坏主意。
2020-5-15 14:09:41 评论

举报

你有没有听到“走路之前先走”的说法?我告诉您将它们放在main.c的开头,目的是达到可以成功编译的程度。一旦您的代码工作正常,您就可以根据自己的喜好来玩布局了。这就是我一直试图告诉您的。配置位不是需要执行的指令。它们是由设备程序员编程成PIC配置字的数据。它们在PIC开始运行任何代码之前配置PIC。正如我们已经说过的,它可能出现在项目中的任何C文件中,但是只有一次,所以不要把它们放入头文件中。不要试图“调用”它们。
2020-5-15 14:18:46 评论

举报

大家好,谢谢你们的快速回复。让我总结一下:#pragmas可以在任何源文件中,唯一的规则是,它们只能被定义一次#pragmas是不需要执行的指令,它们在代码开始之前配置PIC。埃尔包括图书馆。因此,第一步是完成的,第二步是初始化端口。每个I/O端口具有3个相关寄存器(TrIS,POR和LAT)。我希望I/O端口设置为缺省(未使用)值(=设置为输出TIS位=0,LAT位=0,端口=0)。?)稍后,如果我想使用I/O端口,我将设置端口。XC32提供具有预定功能的端口H。不幸的是,PIC32 MX575 F256H不在端口。绿蜘蛛
2020-5-15 14:32:46 评论

举报

您不需要同时写入PORTx寄存器和LATx寄存器。当您写入整个寄存器(而不是单个位)时,那么写入LATx和PORTx执行完全相同的操作。为了避免出现故障,请在写入匹配的TRISx之前写入LATx(或PORTx)。
2020-5-15 14:40:50 评论

举报

只有小组成员才能发言,加入小组>>

134个成员聚集在这个小组

加入小组

创建小组步骤

关闭

站长推荐 上一条 /9 下一条

快速回复 返回顶部 返回列表