嵌入式
你行你上天
专注:智能硬件,信号处理算法,数据挖掘算法,Labview虚拟仪器
展开
-
为什么日志系统普遍用标准错误输出stderr?而不是标准输出stdcout?
因为stderr是不带缓冲的,每个输出都会立即flush。而stdout是行缓冲的,要等到缓冲满了才flush,或者手动调fflush。前者更符合作为日志的需要,不然你程序执行过程中core了,缓冲里的遗言可能就丢了,而丢掉的往往是最接近出问题的地方的。参考:APUE第5.4节 https://www.zhihu.com/question/67629357...原创 2021-02-17 17:14:31 · 1047 阅读 · 0 评论 -
版本控制工具git之生成ppk及使用
本人用的是Git Extensions,用SSH传输。在配置秘钥时遇到问题,参考下面博客解决。转载自:https://www.cnblogs.com/TingJie/p/4992111.html一、简介Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。Gi...转载 2019-05-17 10:37:10 · 1895 阅读 · 0 评论 -
实时嵌入式软件开发的25个常见错误
转载自:https://blog.csdn.net/lulubooboo/article/details/7370808 英文原文由David B. Stewart撰写, 这篇论文对实时嵌入式软件开发的易犯错误做了深入分析,对我们的开发非常有指导意义。 David B. StewartSoftware Engineering for Real-Time Systems ...转载 2019-02-15 13:41:45 · 3595 阅读 · 0 评论 -
浅谈嵌入式 MCU 软件开发之应用工程的堆与栈
转载自:http://huxiongwei.spaces.eepw.com.cn/articles/article/item/136717 内容提要 概述与案例分析1. 嵌入式 C 语言应用工程中堆栈的定义和作用2. 嵌入式 C 语言应用工程的栈大小确定3. 嵌入式 C 语言应用工程的堆栈溢出定义、危害以及应对措施 概述与案例分析过去工作中,我经常遇到客户非...转载 2019-01-31 14:20:29 · 1421 阅读 · 0 评论 -
关于嵌入式开发中堆栈的理解
转载自:https://blog.csdn.net/Eric_01230/article/details/86299949 今天去面试,面试官再一次问到了对堆栈的理解这个问题,答的不是太好,在网上又查阅了一些讲的比较清楚的博客,现在来梳理一下内容,以备下次之需。一个由C/C++编译的程序占用的内存包括下列几项:栈区(stack) 堆区(heap)静态区(全局区)常量区代码区它...转载 2019-01-31 14:19:31 · 1043 阅读 · 0 评论 -
嵌入式linux开发板web服务器搭建2——CGIC移植
移植完Boa后,还需要利用C语言的CGI库“CGIC”,并结合html完成Web开发,实现前端网页和设备的数据交互。主要步骤参考https://wenku.baidu.com/view/8d5dd954f01dc281e53af08f.html中的描述,主要步骤如下:CGIC简单测试先编写个test.c程序,如下:#include <stdlib.h>int main(...原创 2019-01-07 21:44:23 · 2750 阅读 · 3 评论 -
嵌入式linux开发板web服务器搭建1——Boa移植
嵌入式linux开发板web服务器Boa移植笔记环境Ubuntu10.04.4boa-0.94.13主要步骤主要参考https://wenku.baidu.com/view/8d5dd954f01dc281e53af08f.html和https://blog.csdn.net/lyiya/article/details/50865947两篇博客的步骤。从http://www.boa....原创 2019-01-07 12:36:05 · 2922 阅读 · 0 评论 -
SysTick的优先级是高还是低
转载自:https://blog.csdn.net/yxfabcdefg/article/details/49308329摘要 SysTick系统嘀嗒定时器是Cortex内核的部分,尤其对于有实时操作系统的软件,它一般会作为整个系统的时基,所以这个对操作系统非常重要。 SysTick 、CM3、系统嘀嗒 ...转载 2018-12-17 17:24:44 · 789 阅读 · 0 评论 -
基于μCOSiii的AT指令代码和使用方法详解
一、主要思路项目中需要用到AT指令与模块通信,前期写了个不带操作系统的AT指令代码模块。现在需要用μCOSiii操作系统,为了提高代码健壮性,对代码进行了重构。在网上看到RT-Thread中实现了AT组件(https://www.rt-thread.org/document/site/submodules/rtthread-manual-doc/zh/1chapters/14-chapte...原创 2018-12-17 10:34:37 · 1630 阅读 · 1 评论 -
网络调试(TCP和MQTT)调试的好工具
网址为:http://tongxinmao.com/App/List网站提供了公用的外网TCP服务器和MQTT服务器,以及调试终端助手,功能非常强大。并且集成了很多软件开发小工具。感谢作者!...原创 2018-09-29 17:54:31 · 11905 阅读 · 0 评论 -
C8051F没有无法进main函数的解决办法之一
用C8051F040做项目时,本来程序可以正常运行,添加一部分程序后发现无法进入main函数。断点调试发现,在文件STARTUP.A51中,跳转到 LJMP ?C_START 后, 又重新跳回 IDATALOOP: MOV @R0,A DJNZ R0,IDATALOOP ...原创 2017-06-10 21:49:14 · 2409 阅读 · 0 评论 -
Labview控制Agilent 33220A信号发生器
Agilent其实自带PC端控制信号发送器的软件,在网上可以找到。但需要安装一堆驱动和控件,使用时数据还要转化为特定的格式。于是,自己用labview做了个小软件,可以读取txt格式数据,并通过信号发生器发出。一、 原理 Labview支持NI-VISA 通用I/O接口软件 。VISA(虚拟仪器软件架构)是对包含GPIB、VXI、PXI、串口(RS232/485)、以太网原创 2017-03-13 23:27:43 · 7631 阅读 · 7 评论 -
STM32学习笔记6——向24C02芯片中写入浮点数
方法:用共用体(1)共用体类型定义#define FLOAT_BYTE_NUM 4 //float类型占用字节数//浮点数存储共用体typedef union{ float value; uint8_t byte[FLOAT_BYTE_NUM];} storFloatData;(2)函数定义/*******************************************原创 2016-12-08 22:04:24 · 4063 阅读 · 3 评论 -
STM32F4学习笔记5——stm32串口发送数据最高位错误问题
最近,在做基于stm32f401串口的ModBus协议通信,遇到了stm32串口发送数据的问题。花了一整天去查找问题,从ModBus协议格式、调度算法到串口配置,最终终于把问题解决,记录下来。 问题描述: ModBus协议中配置stm32f401串口为奇校验,8位数据位,1位停止位,程序如下:void uart_init( u32 bound ){原创 2016-11-08 23:37:02 · 6559 阅读 · 2 评论 -
ROM RAM Flash等不同存储器的区别
Ø ROM和RAM区别ROM(Read Only Memory,只读存储器)在系统停止供电的时候仍然可以保持数据,RAM(Random Access Memory,随机存取存储器)通常都是在掉电之后就丢失数据,典型的RAM就是计算机的内存。Ø ROM、PROM、EPROM、EEPROM区别ROM(Read Only Memory,只读存储器):生产过程中烧录程序,用原创 2016-11-10 22:18:04 · 821 阅读 · 0 评论 -
FreeModbus读/写寄存器小Bug
在STM32F401中移植了FreeModBus,移植教程参考了这里:http://www.openedv.com/thread-64794-1-1.html。采用03、04和06号功能码进行数据读写,发现数据能读出,但数值不对。单独调试串口证明串口正常。断点调试发现,每次读/写都是操作的本来想操作寄存器的下一个。于是,一步步查看协议栈各函数调用关系。终于发现,协议栈的小bug。 以03号功能码调原创 2016-11-10 21:30:02 · 3899 阅读 · 10 评论