完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
您好,我正在努力使用非常基本的字符串功能,可以在MPLAB使用。我有几个问题。1——可以将寄存器(RCREG-UART接收)值存储在整数中吗?例如Itin value=0;ANdioValue= RCREG;2——如果将整数存储为字符,如何转换寄存器值?例如,示例GETHARC和ITOA(IIValuy,GETHYC,1);3——如何将该字符保存到字符串中?例如,SLECCHAR SYLY(20);ANDSSLIN=GETYC;4——如何比较两个字符?例如,如果(GETHYC= =‘n’5)-哪些头文件必须包含在程序中为此目的?
|
|
相关推荐
19个回答
|
|
|
MPLAB只是一个IDE。您的问题涉及到您实际使用的任何编译器或汇编器。我猜它是XC8。[1]在8位部件上,RCREG将产生8位值。在XC8中,整数是16位,所以可以存储8位,但是浪费了一半的空间。C中的char变量是8位,因此它可以保存0x00到0xFF的值。这也可以被看作0到255(或者-128到+127被签名)的数字itoa()可以用来将其转换为表示该数字的ASCII字符串。t_c=='n')将执行您想要的比较[5]XC8用户指南中itoa()函数的文档说明它需要stdlib.h。
|
|
|
|
|
|
ITOA-()具有1的基数将导致无限循环。;)
|
|
|
|
|
|
嗨,另外,上面线程中itoa函数的参数序列是错误的,对于XC编译器来说,它应该是:itoa函数在C库标准中没有指定,在库实现中它被视为内部工具,在不同的编译器实现中具有不同的参数序列。但是,如果您正在从UART接收文本,那么itoa的作用是有限的。将文本字符提供给:itoa(...)函数,将产生字符表示的数值,作为十进制数字字符串的形式。还有其他函数:atoi(...)和strtol(...)。RT-一个数字字符串到一个整数数值。迈西尔
|
|
|
|
|
|
如何在前一篇文章中编写代码?我定义以下int和.nt int_v;char str_v[11]={"};//字符串10int_v=UART_get();//这个函数returnRCREG是整数类型itoa(str_v,int_v,10);/*将生成String:*/if(str_v='1')//如果用户发送“1”,错误是:newmain.c:125:error:(208)操作数。“==”与无符号char/un签署不相同的类型指针
|
|
|
|
|
|
在代码周围放置“code”标记。即在代码后面加上[/code],在[code]前面加上[code]。注意结束标记中的“/”字符。我按相反的顺序显示它们,以便您能够实际看到它们。
|
|
|
|
|
|
评论是错误的。RCREG返回一个无符号字符类型,而不是整数类型。这是因为“1”是字符类型,而不是字符串。在C中,这是一个字符串“1”,也就是说你使用的是哪种引用。你真正想要测试什么?如果接收的字符的十六进制值是0x01,或者它是一个ASCII数字“1”,实际上它的十六进制值是0x31。如果要检测一个ASCII“1”,那么根本不需要转换为一个字符串,只需直接进行比较即可。AVE提到不能使用“==”来比较字符串。
|
|
|
|
|
|
谢谢,现在工作了。
|
|
|
|
|
|
这是行不通的。它从不通过按下Enter终止。
|
|
|
|
|
|
因为它是错误的,就像你在第7页所展示的那样。
|
|
|
|
|
|
UARTAL接收()返回什么?什么是在结束(while)(1)循环之后?无论如何,TrydId:你知道执行时中断语句会做什么吗?Edt2:这个延迟会导致你的UART超支和锁定。
|
|
|
|
|
|
这个怎么样?但是这给出警告:NeMeal.C:129:警告:(357)非法转换整数到POTIONNONO警告。
|
|
|
|
|
|
你的错误是错误的。使用斯特赫
|
|
|
|
|
|
回到后面的第九章,第10章显然是错误的。去掉它。你正在比较输入键的错误字符。这将发送一个Carriage Return字符,即“/r”,而不是“n”,这是新行字符。(如果按下Ctrl,同时按下Enter,大多数PC机将发送新行)
|
|
|
|
|
|
中断将把相同的字符串传送回计算机。稍后我将尝试上面建议的行。我只是用strchr()编译,但是这也给出警告。如果(strchr(char_v,“r”)break;newmain.c:131:warning:(357)将整数非法转换为指针
|
|
|
|
|
|
当然,如果查尔夫是个胆小鬼。然后我想知道它是怎么工作的。
|
|
|
|
|
|
是的,Calv是Car,我猜‘R’也是一个字符,对吗?函数Schr()是比较两个字符并给出二进制答案的,对吗?请纠正我,如果(SARCHR(CHARV V,R′))断裂;
|
|
|
|
|
|
如果(查尔V==‘r’)
|
|
|
|
|
|
YesNo,一点也不。为什么猜?XC8用户指南告诉你Struchr的确切内容。我已经告诉过你如何比较几个帖子之前的两个字符。放慢速度,不要乱扔代码。
|
|
|
|
|
|
这有点管用,但是如何清除字符串呢?如何终止字符串?字符串的最后一个字符必须是‘0’。我用15个元素初始化一个字符串,并存储从UARTHARE接收到的char,直到按下Enter。为了结束短字符串,我还在末尾加上“ ”,但是它仍然显示整个字符串。我必须从字符串中输入所有字符,使它成为全新的,然后显示。
|
|
|
|
|
只有小组成员才能发言,加入小组>>
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
473 浏览 0 评论
5793 浏览 9 评论
2334 浏览 8 评论
2224 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3530 浏览 3 评论
1121浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
1095浏览 1评论
我是Microchip 的代理商,有PIC16F1829T-I/SS 技术问题可以咨询我,微信:A-chip-Ti
872浏览 1评论
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
473浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 19:26 , Processed in 1.173634 second(s), Total 78, Slave 71 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1307