embedded相关内容
如何确保什么是AT命令结束发送到GSM模块? 我需要重新AT命令present结束对每一种情况,由于在接收整个响应发现了一些字符或字符串。 我想这有什么“\\ r \\ n”序列,但这个序列可能是在AT命令响应的开始? 解决方案 就像你想这是 \\ r \\ n 。结果 这限定了一行的末尾。 和它使只处理完整的生产线感。 有些命令respons仅 OK \\ r \\ n ,有的
..
我使用这个功能: __ delay_cycles(VAR); 和我得到以下错误: 参数为 _delay_cycles 必须是一个常量前pression 这很公平!但我怎么能绕过这个?我不得不推迟我的程序与每一次不同的值。我收到来自RS232我的数据,我疼它在 INT 变量。我一定要使用此功能,我不能修改它的结构。我使用的ATmega16的。 解决方案 这立刻浮现在脑海的一个
..
我正在开发的C ++为有限code /数据RAM的平台的嵌入式应用,而是无限的RAM文件系统的使用情况。 在寻找降低code尺寸,我意识到,fprintf中不包括()线做出了很大贡献,以产生code的大小。 我的问题是: 1.为什么fprintf中的成本如此之高? 2.如果我排除fprintf中的功能,这将是使其通过应用程序运行描述occurances日志文件的选择吗? 解决方案
..
如何刷新一个UDP套接字的输入缓冲区(如果这样的东西存在的话)用C? 我工作的嵌入式Linux环境,并用C来创建一些本地应用程序。有几个在同一个网络上的这些嵌入式设备,而当事件其中之一发生时(允许称之为举报人),举报人应发送网络消息到网络广播地址,这样,所有的机器上网络(包括举报人)知道有关事件,并根据它执行一些动作。 我使用的是UDP套接字的方式... 下面是伪code吧: 主 {
..
我工作的一个嵌入式应用程序,需要打印浮点值。由于空间和其他限制我只能用的putchar()输出。 我想创建一个函数,一个float作为参数,并使用的putchar打印它()。我有一个类似的功能,对于整数值的作品。 无效putLong(长×) { 如果(X℃,) { 的putchar(' - '); X = -x; } 如果(X G
..
使用微控制器(PIC18F4580),我需要收集数据并将其发送到供以后分析SD卡。它收集的数据将在0到1023,或0x0和0x3FF对之间的值。 所以我需要做的是转换成1023字面ASCII值的基数为10串(0X31,为0x30,0x32,0x33,...)。 我的问题是我能想到的分裂位的相隔只有这样需要大量的分工。 字符临时[4]; 温度[0] = 1023%10; 温度[1] =(102
..
罪和 COS 函数是缓慢的,需要大量的资源,在嵌入式系统上运行的。如何计算罪和 COS 更资源节约型和更快捷的方式功能? 解决方案 要计算泰勒或傅立叶系列总是要耗费时间。 在嵌入式系统中,你应该想想查找表。 有可能还对有关惠普在其早期的科学计算器怎么优化,计算'网有趣的信息。 我记得当时看到这样的东西的 的
..
我需要写一个IEEE单precision浮点数为32位硬件寄存器在一个特定的地址。要做到这一点,我需要一个float类型的变量转换为一个无符号整数。我可以再presentation这样的整数: 浮动= 2.39; 无符号整型*目标; 输出(“A =%F \\ N”,一); 目标=安培; A; 输出(“目标=%08X \\ n”,*目标); 返回: A = 2.390000 目标= 4018F
..
没有求助于标准库utoa,我在寻找utoa来源$ C $ C,所以我可以自定义为特定的项目。我有输出无符号整数(32位),如0xFFFF_FFFF 我也想找源$ C $ C为二进制格式的无符号整数,半字字符串。 解决方案 试试这个: 的char * DEC(无符号X,字符* S) { * - S = 0; 如果* - S ='0'(X!); 为(
..
如何我应该在关键任务嵌入式应用管理内存? 我发现了与谷歌的一些文章,但不能确定的一个真正有用的实用指南。 的 DO-178B 禁止动态内存分配,但你将如何管理内存呢? preallocate一切都事先并发送一个指向需要分配每个功能?它分配在堆栈上?使用一个全局静态分配器(但它非常类似于动态分配)? 答案可以是常规的答案,参考资源,或引用,例如良好的开源嵌入式系统的形式。 澄清:这里的问题是
..
我实现BFSK频率中的DSP处理器跳频通信系统。它是由一些论坛成员建议使用Goertzel算法频率的特定频率跳变解调。我曾尝试实施C.戈泽尔算法code是如下: 浮动戈泽尔(INT NUMSAMPLES,诠释TARGET_FREQUENCY,诠释SAMPLING_RATE,浮动*数据) { INT K,I; 浮floatnumSamples; 浮欧米茄,正弦,余弦,COE
..
[修改对于背景阅读,并且要清楚,这就是我所说的:的介绍volatile关键字 在审查嵌入式系统code,最常见的错误我看到的一个是挥发性线程/中断共享数据遗漏。但是我的问题是,它是否“安全”不使用挥发性当一个变量通过一个接入功能或成员函数访问? 一个简单的例子;在以下code ... 挥发性布尔标志= FALSE; 无效的ThreadA() { ... 而(!标志)
..
怎样才能创建并行运行的线程编程时的 PIC18 ,因为没有操作系统? 解决方案 不要使用线程,使用一个事件循环。 在PIC18是一个小的处理器和事件循环风格为主意味着你不必让许多深栈游逛。你需要写你的code。在事件循环的方面,而且这可能是合理的。 如果你确实有一些长期运行的任务,使用计时器都不同中断优先级,允许高优先级事件循环,以preempt优先级较低的事件循环,并提出适当的工种到
..
我很好奇是否有任何优势的问候效率以类似下图的情况下利用memset的()。 由于以下缓冲声明... 结构More_Buffer_Info { unsigned char型一[10]; unsigned char型B〔10]; unsigned char型C [10]; };结构My_Buffer_Type { 结构More_Buffer_Info buffer_
..
我要寻找一个小的libc用于在ARM7微控制器与嵌入式FreeRTOS的使用。 我已经看过newlib,但它是我的需求有点太复杂。 Newlib调用的malloc() 若干功能(例如printf()的),这是不利于小型嵌入式实时系统 有谁知道一个小巧,便携,开源的libc实现,将适合我的申请? 解决方案 PDCLib 的可能满足您的需求。这是仍然是不完整的 [无效链接] 的,不过,也
..
大多数我看到使用全局变量的反对的意义,因为它们是指多个线程,线程安全,等等。的问题 但在一个小的,单线程的,非操作系统,情况下,你有什么异议?就我而言,我写在“C”我的嵌入式系统,如果它很重要。我还对产品的唯一开发商。 为什么会消除全局变量让我的code更好? (读取多个答复后,我意识到我应该也指出,这一系统没有动态内存分配(例如malloc的),所有的记忆是在编译时静态分配。) 解决
..
在这个年龄段的许多语言的存在似乎是几乎每一个任务一个伟大的语言,我发现自己的专业对抗的口头禅挣扎“不过C是快',其中快速真的指”不够快“。我喜欢谁比较数字很理性开放的态度人们的工作和我所拥有的是思想和意见。你能帮我找到我的路过去的主观意见,进入“现实世界”? 你能帮我找到的研究,以什么样是否为嵌入式可以使用任何其他语言和(Linux)的系统编程?我很可能会推着虚假的假设,将大大AP precia
..
因此,我已通过网页和计算器和谷歌的网页搜索结果和拖网我所遇到极少数的C / C ++ HTTP适合资源有限的,嵌入式环境中的客户端库(例如ARM)。然而,我所遇到的非常适合于桌面级的应用等等。 从本质上讲,我是一个简单,易于使用和方便的API后,使HTTP GET,POST和HEAD要求(与验证,下载恢复和负载融为一体pression支持)。这将是理想的,如果它有一个占地面积小(即没有或极少
..
被部署在屏蔽设备的环境中电离辐射轰击 我们正建立一个嵌入式C / C ++应用程序。我们使用GCC和交叉编译为ARM。在部署时,我们的应用程序更多的时候,我们希望产生一些错误的数据和崩溃。硬件是专为这种环境下,我们的应用程序运行在这个平台数年。 是否有变化,我们可以让我们的code或编译时可以作出识别/正确改善软错误引起的
..
我可以使用函数malloc和嵌入式C删除吗?例如,我有一个功能,在创建的指针在结构函数malloc。在RAM中,这个函数的返回地址,我可以利用这一点。从我的功能,其中分配内存,这个指针将被删除或此内存为这个保留的,退出后虽然没有将功能删除终止? typedef结构{ 字符瓦拉; 字符varB } MYSTRUCT;虚空MYFUNC(无效) { MYSTRUCT * ptrStruc
..