1949啦网--小小 痛苦,是因为能力和欲望不匹配造成的

memset()函数--------c语言



 void *memset(void *str, int c, size_t n) 复制字符 c(一个无符号字符)到参数 str 所指向的字符串的前 n 个字符。



原型:void *memset(void *str, int c, size_t n)


作者:xiao 分类:硬件笔记 浏览:

atoi() 函数------c语言

atoi() 函数用来将字符串转换成整数(int),其原型为:int atoi (const char * str);【函数说明】atoi() 函数会扫描参数 str 字符串,跳过前面的空白字符(例如空格,tab缩进等,可以通过 isspace() 函数来检测),直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。【返回值】返回转换后的整型数;如果 str 不能转换成 int 或者 str 为空字符串,那么将返回 0。
作者:xiao 分类:硬件笔记 浏览:

strtok函数c语言

#include <string.h>  main(){      char s[] = "ab-cd : ef;gh :i-jkl;mnop;qrs-tu: vwx-y;z";      char *delim
作者:xiao 分类:硬件笔记 浏览:

strstr函数(c语言)

返回值:返回str2在str1的首次出现的地址char str[]="1234xyz"; char *str1=strstr(str,"34"); 输出结果是:34xyz
作者:xiao 分类:硬件笔记 浏览:

用超声波模块根据距离来控制灯的亮灭

#include "stm32f10x.h"  #include "stdio.h"  static GPIO_InitTypeDef   GPIO_InitStructure;      static USART_InitTypeDef USART_InitStructure;  #define&
作者:xiao 分类:硬件笔记 浏览:

在stm32中如何判断GPIO引脚工作模式是输入还是输出呢?

以(LED配置输出,key配置输入)为例子首先是LED;你的目的是控制单片机驱动灯的状态,由硬件连接来说一般都是一个灯+限流电阻,然后通过GPIO管脚的输出高低来控制灯的状态。来看看M4的GPIO管脚内部结构,只有配置输出才能控制I/O引脚的电平高低。才能控制电流流向。很明显输出做不得到。也就不能控制电流高低了。对于KEY为什么选择输入。一般KEY都是做为判断也就是if(key==?);出了REST;为什么用输入呢,因为当你想要知道你的按键按下没有,通过单片机读取输入数据寄存器IDR的数据;你就
作者:xiao 分类:硬件笔记 浏览:

printf函数重定向【stm32】— > fputc()

#include "stm32f10x.h"  #include "stdio.h"  static GPIO_InitTypeDef   GPIO_InitStructure;  static NVIC_InitTypeDef   NVIC_InitStructure;
作者:xiao 分类:硬件笔记 浏览:

stm32串口1接收和发送数据的使用

#include "stm32f10x.h"  #include "stdio.h"  static GPIO_InitTypeDef   GPIO_InitStructure;  static NVIC_InitTypeDef   NVIC_InitStructure;
作者:xiao 分类:硬件笔记 浏览:

stm32运用PWM写呼吸灯的例子

代码不太完整,因为我的stm32板子的灯的引脚没有定时器所以就写个差不多的模板供以后参考

#include "stm32f10x.h"  #include "sys.h"  static GPIO_InitTypeDef   GPIO_InitStructure;      static TIM
作者:xiao 分类:硬件笔记 浏览:

定时中断

#include "stm32f10x.h"  static GPIO_InitTypeDef   GPIO_InitStructure;  static NVIC_InitTypeDef   NVIC_InitStructure;    static TIM_TimeBaseInitTypeD
作者:xiao 分类:硬件笔记 浏览:

SysTick 滴答定时器

#include "stm32f10x.h"  static GPIO_InitTypeDef   GPIO_InitStructure;  #define  PB5OUT(n)   *(volatile uint32_t *)(0x42000000+((uint32_t
作者:xiao 分类:硬件笔记 浏览:

滴答硬件定时器

#include "stm32f10x.h"  static GPIO_InitTypeDef   GPIO_InitStructure;  #define  PB5OUT(n)   *(volatile uint32_t *)(0x42000000+((uint32_t
作者:xiao 分类:硬件笔记 浏览:

stm32设置优先级分组抢占

#include "stm32f10x.h"  static EXTI_InitTypeDef   EXTI_InitStructure;  static GPIO_InitTypeDef   GPIO_InitStructure;  static NVIC_InitTypeDef
作者:xiao 分类:硬件笔记 浏览:

stm32优先级和响应优先级

  @arg NVIC_PriorityGroup_0: 0 bits for pre-emption priority  //不支持抢占优先级    *           &n
作者:xiao 分类:硬件笔记 浏览:

TCP连接后为啥要打开透传模式(也就是透明)和用mqtt协议客户端发送给服务器的连接请求需要注意的

透传一般都是用来读取远程的串口数据。在物物相连的物联网时代,要想实现智能设备的数据透传就需要仰仗无线透传模块的力量,可实现发送方和接收方数据的长度和内容完全一致,不需对数据做任何处理,相当于一条数据线或者串口线,所有数据可透明的在两设备之间双向传输。



作者:xiao 分类:硬件笔记 浏览:

stm32 keil中使用bool类型

使用时包含头文件    #include <stdbool.h>注释掉头文件会提示报错。
作者:xiao 分类:硬件笔记 浏览:

stm32 cjson 解析json数据实例

char* pszJsonText = "{\"result\":{\"id\":1,\"name\":\"aa\",\"datetime\":\"2016-04-25 16:38:54\",\"status\":1}
作者:xiao 分类:硬件笔记 浏览:

sprint使用的时候要注意的问题

sprintf的作用是将一个格式化的字符串输出到一个目的字符串中,而printf是将一个格式化的字符串输出到屏幕。sprintf的第一个参数应该是目的字符串,如果不指定这个参数,执行过程中出现     "该程序产生非法操作,即将被关闭...."的提示。

因为C语言在进行字符串操作时不检查字符串的空间是否够大,所以可能会出现数组越界而导致程序崩溃的问题。即使碰巧,程序没有出错,也不要这么用,因为早晚会出错。所以

作者:xiao 分类:硬件笔记 浏览:

内存溢出和内存泄漏的区别

内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。内存泄露 memory leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。memory leak会最终会导致out of memory!内存溢出就是你要求分配的内存超出了系统能给你的,系统不能满足需求,于是产生溢出
作者:xiao 分类:硬件笔记 浏览:

stm32中用cjson的内存问题

这个问题,我改了几天的bug,原来是 分配给json的内存少了,因为我发现代码cJSON_CreateObject()在创建对象之后就没反应了,问了博主说是内存的问题,然后到网上找果然也有人出现这些问题,所以只需要把分配的内存改大了就没事了,在启动文件里面找到Heap_Size然后把他改大,我用的是原子的代码,原本是写着0x200,后面改成0xC00还是不行,就怀疑是不是不是内存的问题,最后看了很多文章,他们都改成0x1000,然后就可以了,如果你写cjson内容(键值)比较多的话,如果出现问题
作者:xiao 分类:硬件笔记 浏览:

C语言--CJSON的使用

基础知识typedef struct cJSON {     struct cJSON *next, *prev;       struct cJSON *child;            
作者:xiao 分类:硬件笔记 浏览: