C语言基础
GKoSon
此人不懒,什么都没写
展开
-
mongoose培训
【代码】mongoose培训。原创 2022-08-30 17:13:21 · 632 阅读 · 1 评论 -
灯语代码准备
这样可以执行gcc main.c。或者在main.c前面写成。可以在vscode执行。原创 2022-08-26 15:24:28 · 319 阅读 · 0 评论 -
单片机延时函数us
测试的时候 万用表鳄鱼夹----一排口的COM标识的2个随便 都是GND。尖头---PWR(V)的靠近 近距离边缘的LED。这个函数 执行一次 预计延时是3us。那么12*1/40=0.3us。基本就是3US的 符合要求!看图我们是40MHZ的晶振。...原创 2022-08-12 15:40:38 · 954 阅读 · 0 评论 -
ESP32蓝牙主机nus服务
宏定义是 一个数组 成员是1个 也就是1 0 我把全局的加进去TX RX齐活了!发送函数 不要额外的变量了 就是全局的 放进去!代码/* * SPDX-FileCopyrightText: 2021 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: Unlicense OR CC0-1.0 *//***************************************...原创 2022-05-03 21:38:09 · 452 阅读 · 0 评论 -
ESP32定时器
ESP32 之 ESP-IDF 教学(四)——高分辨率软件定时器(esp_timer)_Augtons正(单片机)的博客-CSDN博客_esp32定时器kESP32 之 ESP-IDF 教学(四)——高分辨率软件定时器(esp_timer)_Augtons正(单片机)的博客-CSDN博客_esp32定时器k就是这个效果放在mian.即可timer1Init();#include "esp_timer.h"esp_timer_handle_t timer1;.原创 2022-05-02 17:21:23 · 1642 阅读 · 1 评论 -
ESP32蓝牙主机NUS-收发消息
参考问题遗留-ESP32主机-52840从机_GKoSon的博客-CSDN博客现在情况好像不同 了代码1---此时esp32可以使能从机 可以收到从机的nus消息但是主机准备发消息的时候会失败E (32327) KOSON: A: acked ----311--write char failed, error status = 3这是因为ESP的源码只给出一个服务一个特征值 而nus是有2个直接发送的话 那个函数 的 一个成员 是需要句柄的我用的是TX的 而用RX的才可以原创 2022-05-02 11:43:53 · 816 阅读 · 0 评论 -
调试ESP32蓝牙
1--一个从机都没有 扫描时间到了 就停止了 case ESP_GAP_SEARCH_INQ_CMPL_EVT: ESP_LOGI(HCI_TAG, "X ESP_GAP_SEARCH_INQ_CMPL_EVT 程序会截至到这里 表示扫描的时间到了 一个满足条件的从机都没有扫到"); esp_ble_gap_start_scanning(10);//我再次开始扫描 这里是10S 使用串口工具看 就是实打实的10S 如果还是没有满足条件的从机原创 2022-04-25 17:55:15 · 1115 阅读 · 0 评论 -
git忽略文件OTA
一个问题git来打包 如图$ git init$ git add .$ git commit -m "1"这样把.git 拿走 去别处 也可以还原但是 我不要这个文件!要额外出去!建立 .gitignore文件写一句话 zip_img就好了它不会参加打包!$ git reset --hard HEAD...原创 2022-03-17 12:12:35 · 98 阅读 · 0 评论 -
树莓派OTA脚本
第一步 死循环 1秒钟输出一次文件是1.sh 或者 1.bash 都是可以的 执行bash 1.sh#!/system/bin/shwhile truedo echo "HELLO WORLD" sleep 1done第二步 死循环一直监视 一旦出现某个任务 就kill掉#!/system/bin/shwhile truedo #echo "HELLO WORLD" gw_ps=$(pgrep -f rpi_gw) i.原创 2022-03-17 11:31:57 · 1461 阅读 · 0 评论 -
web2--基于raspap继续
我学习了 在PHP里面调用SH 这样后面可以做很多事情 比如UI控制LED 本质是HTML-PHP-SH这样的现在想做读写我看system advance if (isset($_POST['RestartLighttpd'])) { $status->addMessage('Restarting lighttpd in 3 seconds...', 'info'); exec('sudo /etc/raspap/lighttpd/configport.s.原创 2021-09-25 17:49:22 · 138 阅读 · 0 评论 -
笔试
https://wenku.baidu.com/view/2d47f0472e3f5727a5e96278.html#include <stdio.h>struct A{ char a; long l;};void main(){ printf("%d\n",sizeof(struct A));}//8 #include <stdio.h>#pragma pack(1)struct A{ char a; long.原创 2021-01-22 09:03:55 · 90 阅读 · 0 评论 -
基础C-位域一个填充知识
看别人提问 我的回答 有问题 验证下#include <stdio.h>#include <string.h>typedef unsigned char uint8_t;typedef unsigned short uint16_t;typedef unsigned int uint32_t;struct pid_tag{uns...原创 2020-03-27 14:31:21 · 250 阅读 · 0 评论 -
基础C--
#include <stdio.h>#include <string.h>typedef unsigned char uint8_t;typedef unsigned short uint16_t;typedef unsigned int uint32_t;#if 0int main(){ unsigned char cnt=10; while...原创 2020-03-27 14:12:54 · 114 阅读 · 0 评论 -
测试宏定义#
#include <string.h>#include <stdlib.h>#include <stdio.h>#include <stdint.h>#include <stdarg.h>#define Conn(x,y) x##y#define ToString(x) #xint main(void){ i...原创 2019-07-09 17:52:02 · 376 阅读 · 0 评论 -
GIT LIST BUTTON 简单理解递归
*///翻转 返回新的头指针 请传入当前的头Button_t * Button_Reverse(Button_t *head){ if(head == NULL) return head; //printf("%d# ",head->data ); Button_Reverse(head->Next); printf("%d ",head->da...原创 2019-01-14 13:06:38 · 159 阅读 · 0 评论 -
基础C知识
volatile unsigned int flag;好,我们来看看这个volatile是干什么的,先看如下代码:int i = 10;int j = i;int k = i;i变量和我们上面所说的flag变量一样,只是“普通的”被声明了一下,没有声明为volatile变量。编译器在编译的时候,看到上面的三句话,i没有被用作左值,也就是i没有被改变,那么“优化”就来啦:在i对j...原创 2020-03-12 08:56:28 · 200 阅读 · 0 评论 -
错误小结
原创 2020-01-22 17:15:36 · 137 阅读 · 0 评论 -
sscanf又一个技巧-抛弃部分
前面的测试代码 又有变化了 如下抛弃的技巧#include <stdio.h>#include <string.h>typedef unsigned char uint8_t;typedef unsigned short uint16_t;typedef unsigned int uint32_t;//CASE1int main(void)...原创 2020-01-19 15:40:26 · 381 阅读 · 0 评论 -
万能比较 万能打印
#include <stdio.h>#include <string.h>typedef unsigned char uint8_t;typedef unsigned short uint16_t;typedef unsigned int uint32_t;typedef struct { unsigned char weight; unsig...原创 2018-12-17 11:28:39 · 174 阅读 · 0 评论 -
sprintf的一个副作用 噢 没问题
#include <stdio.h>#include <string.h>//memset#include <stdlib.h>//free#include <stddef.h>#define uint8_t unsigned char#define uint16_t unsigned short#define uint32_t u...原创 2020-01-16 17:58:21 · 221 阅读 · 0 评论 -
sscanf一个技巧--获取int的时候十进制十六进制不同
https://blog.csdn.net/u012449147/article/details/38703205警惕sscanf的使用今天发现一个问题 其实很好的 以后可以采用! 不需要空格了 看图吧eg来料是 : 11897B6B 207fcbb92ad811eabd1d98039b472dc0 733004c92ad811eabd1d9803...原创 2020-01-02 10:59:32 · 536 阅读 · 3 评论 -
系统配置翻车--数组不行 需要指针一个C深沉的问题错误(二级指针)
uint8_t level[3]={0},belevel[3]={0};config.read(CFG_DEV_LEVEL , (void **)&level);config.read(CFG_SYS_BELEVEL , (void **)&belevel);printf("[%d--%d]\r\n[%d--%d]\r\n[%d--%d]\r\n",level[0],...原创 2019-12-26 12:16:39 · 94 阅读 · 0 评论 -
RTT studio上手1
看入门接受 基于芯片建立工程 非常简单就好了烧录用自己的STLINK 它的IDE 貌似是我的PC问题不行原创 2019-12-25 15:38:54 · 1089 阅读 · 0 评论 -
MQTT源码的TX-RX设计
MQTT设计TX:int FreeRTOS_send(void *socketId , uint8_t *buffer , int len ,int timeout_ms){ MqttSocketId *mqttId = (MqttSocketId *)(socketId); int ret = gsocket.send(mqttId->id , buffer , len , t...原创 2019-12-13 10:54:15 · 391 阅读 · 1 评论 -
C语言void*技术-MQTT源码说事儿-一个潜在问题
完成放弃一个数据!不要了!typedef struct SocketId{ int8_t id;}MqttSocketId;一个技术:typedef struct Network Network;typedef void *xSocketSet_t;struct Network{ xSocket_t my_socket; void (*disconnect) (Ne...原创 2019-12-12 14:52:37 · 160 阅读 · 0 评论 -
大小端面试
原创 2019-12-12 11:20:14 · 147 阅读 · 1 评论 -
OTA计划--OTA-HEX2BIN脚本压缩BIN-本地工程配合解压代码
PC是分块做的压缩每4K压缩一次 压出来的结果是3000左右我要对应的去加压 如下图困难在于 我去读出来不方便!换一个思路 把驱动的函数扩展出去 可以任意读!以前做过表做一个W24Q64的读函数 它可以任意地址读【目前我是要求的page起始地址】 读出数据比4096小的数组可能1--完成在一个PAGE内部搞定可能2-需要跨越2个PAGE拼出来4096v...原创 2019-12-11 15:07:30 · 205 阅读 · 0 评论 -
OTA计划--OTA-HEX2BIN脚本--再次狗尾续貂-MD5+压缩
做好BIN在后面追加MD5 文件分步压缩 追加长度#include <stdio.h>#include <string.h>#include <stdlib.h>//free#define uint8_t unsigned char#define uint16_t unsigned short#define uint32_t ...原创 2019-12-11 10:48:37 · 259 阅读 · 0 评论 -
STM32L471-FLASH操作-待定【据说不能逆序写入】
void test_wutianlong_chipflash(void){ ChipFlash_T *ps = &ChipFlash; ps->init(); ps->clearone(STM32_TEST_ADR); printf("ps->init()OK\r\n"); memcpy(tdata,"1234",4...原创 2019-12-09 13:40:27 · 593 阅读 · 1 评论 -
二叉树准备V5-二叉树平衡
待定https://www.cnblogs.com/ricklz/p/10016050.html原创 2019-12-09 09:39:01 · 92 阅读 · 0 评论 -
STM32L471文档SRAM
从后往前IAR无压力原创 2019-12-06 14:42:59 · 415 阅读 · 0 评论 -
二叉树准备V3.1更新一个问题:二叉树的遍历-前面的微信文章错误很多
上图是OK的 前面的 文章err 导致理解有问题更新代码:/* 前序遍历二叉树 */int preVisitBiTree(struct BiTree * InRoot){ if(InRoot) { /* 先遍历根节点 */ printf("[%d:(%d)]-",InRoot->id,InRoot->data); ...原创 2019-12-04 11:46:22 · 112 阅读 · 0 评论 -
二叉树准备V4-二叉树完成成功
https://blog.csdn.net/e891377/article/details/88909993完成全部:#include "gtreemalloc.h" #include "stdio.h" //printf //内存池(32字节对齐)struct BiTree Treebase[MEM_MAX_NODE_CONT]__attribute__((at...原创 2019-12-04 11:45:48 · 84 阅读 · 0 评论 -
二叉树准备V3-测试二叉树的创建+查找
可以看到在SRAM真的出现了想要的树!p是右边往左边看的!#include "gtreemalloc.h" #include "stdio.h" //printf //内存池(32字节对齐)struct BiTree Treebase[MEM_MAX_NODE_CONT]__attribute__((at(0x10000800))); //SRAM内存池//目前不...原创 2019-12-03 16:04:41 · 118 阅读 · 0 评论 -
二叉树准备V2-量身定做malloc
就是管理一个数组。。。测试如下:#include "gtreemalloc.h" #include "stdio.h" //printf //内存池(32字节对齐)__align(32) struct BiTree Treebase[MEM_MAX_NODE_CONT]__attribute__((at(0x10000800))); //SRAM内存池...原创 2019-12-03 11:14:54 · 164 阅读 · 0 评论 -
二叉树准备V1-malloc
前面的硬哈希我觉得非常棒!看微信文章 说的很好 它有痛点:在插入和删除的时候麻烦!二叉树因运而生!https://mp.weixin.qq.com/s/ZT_dAmN4N3gVvvxY05Azhghttps://mp.weixin.qq.com/s/ZkXbIKWU9ldFKuP4JVBsSw 神文 !其实我的业务情况硬哈希这样很好的 这里就是练笔!我做一个1K的内存保存...原创 2019-12-02 16:56:46 · 236 阅读 · 1 评论 -
OTA计划--OTA-HEX2BIN脚本--再次狗尾续貂
自己做 追加BIN1--加入长度2--加入MD53--加入CRC【放弃】4--加密【放弃】一个脚本完成!放在最后!效果:#include <stdio.h>#include <string.h>#include <stdlib.h>//free/*所谓MD5就是给进去文件字符串啥的 给你一个摘要 结果是16个HEX或者...原创 2019-12-02 14:25:17 · 175 阅读 · 0 评论 -
硬哈希表的轮子V6.0-蓝加小试牛刀
主要就是一个接受的设计了 我做了一个流程图下图是设计的MQTT协议 下发通行组比如100个的话 总步骤就是5【现在约定每次过来20个】分步骤就是1-2-3-4-5 这样子 周期下发代码:修改通行组1定义-----------------------------其实可以放置的通信组的数目远远不是200 2048减去前面的 [11] +[11] +1+1+2+2+10 很多...原创 2019-11-28 13:32:12 · 106 阅读 · 0 评论 -
硬哈希表的轮子V5.0-完成全部逻辑
#include "hwhaxi.h"#include "ChipFlash.h"#define GRAMDATAFLAG_CNT_ADD 0X0807E000//仅仅利用前面的U32标识哈希表大小#define GRAMDATAFLAG_FLASH_ADD 0X0807E800//全部保存数据的哈希值#define GRAMDATA_FLA...原创 2019-11-27 13:59:09 · 122 阅读 · 0 评论 -
硬哈希表的轮子V4.0-基本完成全部逻辑
放进去算法测试成功进一步的比较即将开始!在V5.0完成吧!#include "hwhaxi.h"#include "ChipFlash.h"#define GRAMDATAFLAG_CNT_ADD 0X0807E000//仅仅利用前面的U32标识哈希表大小#define GRAMDATAFLAG_FLASH_ADD 0X0807E8...原创 2019-11-27 13:50:59 · 137 阅读 · 0 评论