完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
大家好。我想在Pic18F45 50中配置USAT。当我使用内置宏作为OpenSART和PUTSUART时,程序编译得很好,但是当我使用BuyUsAtter()时,TXSTA寄存器有一个错误:C:程序文件(x86)Microchip xC8V1.41包含PIC18F450.H:5771:错误:(1098)冲突。变量的声明“xTXSTAtiTY”(C:程序文件(x86)Microchip xC8v1.41\PIC18F450.H:5124)OpenSART配置,我使用的是:OpenSART(UARTARTXXIN ItOXOFF和AUSTARTHROXXITNYOXOP和USAARTH ASYNCHCHY MODE和AUARTARGEY EQUITY BIT和AUSTARTH CONTROXRX和AUSTARTH BRGHGH HOP和AMP;UsARTHARADENEXOFF,52);有什么想法?
以上来自于百度翻译 以下为原文 Hello everybody. I'm trying to configure USART in PIC18F4550. The project compiles fine when I use built in macros as OpenUSART and PutsUSART, but when I use BusyUSART() there's an error of TXSTA register: C:Program Files (x86)Microchipxc8v1.41includepic18f4550.h:5771: error: (1098) conflicting declarations for variable "_TXSTAbits" (C:Program Files (x86)Microchipxc8v1.41includepic18f4550.h:5124) The OpenUSART configuration that i'm using is: OpenUSART( USART_TX_INT_OFF & USART_RX_INT_OFF & USART_ASYNCH_MODE & USART_EIGHT_BIT & USART_CONT_RX & USART_BRGH_HIGH & USART_ADDEN_OFF, 52); Any ideas ? |
|
相关推荐
8个回答
|
|
我曾经使用它们,但只有在C18……看起来像XC/PLIB bug。
以上来自于百度翻译 以下为原文 I used to use them but only in C18... Would look like a XC / PLIB bug |
|
|
|
您正在使用编译器的后期版本中的PLIB库,它具有不兼容的头文件。最干净的解决方案是查找要使用的函数的源代码,并将它们合并到项目中。
以上来自于百度翻译 以下为原文 You are using the plib libraries in a later version of the compiler, which has incompatible header files. The cleanest solution is to find the source code for the functions you want to use, and incorporate them into your project. |
|
|
|
这不起作用。我刚刚加入了源文件,但是我得到了同样的错误。另外,我声明了一个“新”的BuyUsAt函数:chab-BuyUsARTeNog(空){if(!)!TXSTATIT.TRMT)//是发送移位寄存器空返回1;//NO,返回假返回0;//返回true },但看起来像测试TXSTATITITS。TRMT位是导致错误的原因。
以上来自于百度翻译 以下为原文 That didn't worked. I just incorported the source file, but i'm getting the same error. Also, I declared a "new" BusyUSART function: char BusyUSARTnew(void) { if(!TXSTAbits.TRMT) // Is the transmit shift register empty return 1; // No, return FALSE return 0; // Return TRUE } But looks like testing the TXSTAbits.TRMT bit is what is causing the error. |
|
|
|
是的!因此,在BuyUSAT和OpenSUART宏之间有一个冲突。我通过重新定义BuyUsART并将其用作代码中的函数来解决这个问题,它在OpenSART注释的同时工作。因此,OpenOSART的配置(特别是TXSTA寄存器)可能存在问题,对吗??
以上来自于百度翻译 以下为原文 Yep ! So definetely there's a conflict between BusyUSART and OpenUSART macros. I figured this out by redefining BusyUSART and using it as a function inside the code, it works while OpenUSART is commented. So, maybe there is a problem with the configuration (specially the TXSTA register) of OpenUSART, right ? |
|
|
|
这很奇怪。我想不出为什么同样的变量应该被声明两次仅仅因为你使用它…
以上来自于百度翻译 以下为原文 This is very strange.. I can't think of a reason why the same variable should be declared twice just because you use it... |
|
|
|
|
|
|
|
请不要劫持旧线程。我们不知道你在用什么,或者你做了什么来修复它。
以上来自于百度翻译 以下为原文 Please don;t hijack old threads. We don't know what you are using, or what you have done to try to fix it. |
|
|
|
我的方法是不使用库代码(特别是当我看不到)时,使用简单的外围设备,如UART(除了USB和IP以外的所有其他)。苏珊
以上来自于百度翻译 以下为原文 My approach is to not use library code (especially when I can't see it) for simple peripheral s such as UARTs (and just about all others except USB and IP). Susan |
|
|
|
只有小组成员才能发言,加入小组>>
5162 浏览 9 评论
2000 浏览 8 评论
1928 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3172 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2226 浏览 5 评论
731浏览 1评论
613浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
503浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
629浏览 0评论
527浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-23 05:29 , Processed in 1.319519 second(s), Total 90, Slave 74 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号