林子xxx
码龄17年
关注
提问 私信
  • 博客:408,884
    社区:490
    问答:227
    409,601
    总访问量
  • 61
    原创
  • 1,824,204
    排名
  • 418
    粉丝
  • 1
    铁粉

个人简介:工作多年,现在才想起写博客。

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
  • 加入CSDN时间: 2008-03-18
博客简介:

wangzibigan的博客

博客描述:
C与C#与MCU
查看详细资料
个人成就
  • 获得323次点赞
  • 内容获得172次评论
  • 获得1,869次收藏
  • 代码片获得1,031次分享
创作历程
  • 1篇
    2022年
  • 4篇
    2021年
  • 5篇
    2020年
  • 16篇
    2019年
  • 16篇
    2018年
  • 13篇
    2017年
  • 6篇
    2016年
成就勋章
TA的专栏
  • QT
    4篇
  • RISC-V
    1篇
  • C&MCU
    10篇
  • stm32
    16篇
  • uC/OS
    1篇
  • ARM汇编
    1篇
  • linux
    3篇
  • USB
    1篇
  • 无线通信
    8篇
  • C#
    13篇
  • socket
    2篇
  • zigbee
    3篇
  • android
    1篇
  • GUI
    4篇
  • 非技术的唠叨
    1篇
兴趣领域 设置
  • 嵌入式
    单片机嵌入式硬件
  • 硬件开发
    驱动开发射频工程
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

C#:base64解码显示

base64解析
原创
发布博客 2022.10.05 ·
1660 阅读 ·
1 点赞 ·
1 评论 ·
1 收藏

base64编码解码与数据显示

发布资源 2022.10.05 ·
zip

qt:tcp通信工具(Server端)

1.说明使用qt写一个类似网上常见的网络调试工具。此篇为Server端。Client端在上一篇。2.基本流程新建QTcpServer对象,为其newConnection信号写槽函数。此为新的Client连接信号,在其对应槽函数里使用nextPendingConnection方法获取Client对象,并为Client添加readyRead(读数据),disconnected(断开连接)两个信号写槽函数。开始监听使用Server的listen方法,停止监听使用Server的close..
原创
发布博客 2021.11.18 ·
4123 阅读 ·
0 点赞 ·
0 评论 ·
18 收藏

qt:tcp通信工具(Client篇)

1.说明使用qt写一个类似网上常见的网络调试工具。此篇为Client端。下一遍再写Server端。2.基本流程Client端相对简单:创建QTcpSocket对象,为对象的readyRead,error,connected(可选)分别写槽函数,以处理读数据,错误,连接成功三个事件。连接使用对象的connectToHost方法,断开使用disconnectFromHost方法。程序不做编码转换处理,因为之前的几遍文字已经做过,不再赘述。3.代码这是mainwindow.cpp文
原创
发布博客 2021.11.18 ·
4066 阅读 ·
0 点赞 ·
0 评论 ·
13 收藏

qt:写一个串口助手

1.界面布局这是一个常见的串口助手布局。要说有什么不常见,大概就是发送可以选择编码方式:GBK/UTF82.要点没什么难度,就是水磨工夫,一点点写。容易错处的地方都写在代码注释里。3.代码下面是 mainwindow.cpp 文件。#include "mainwindow.h"#include "ui_mainwindow.h"#include <qdebug.h>QSerialPort *serial;MainWindow::MainWindow(Q.
原创
发布博客 2021.11.13 ·
1065 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

qt:字符串与hex转换器

1.布局2.代码#include "widget.h"#include "ui_widget.h"#include <QtDebug>Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget){ ui->setupUi(this);}Widget::~Widget(){ delete ui;}void Widget::on_btn2hex_.
原创
发布博客 2021.11.13 ·
1536 阅读 ·
2 点赞 ·
0 评论 ·
1 收藏

RISC-V架构单片机GD32VF103:IAP功能

自从传闻ARM要出售给美国公式,本人内心的不安全感促使我寻找ARM架构单片机的替代产品。网上问了写网友,有推荐GD32VF103,于是花了些时间了解这个系列的MCU,发现其实也还行,这个MCU跟GD32F103很像,RAM, ROM,外设,封装都差不多。虽说开发环境有些不太熟,不过花些心思,也能凑合使用,至少,比51单片机好用多了。因为官方Firmware没有IAP方面的内容,所有这篇文章专门讲讲此单片机如何进行IAP,毕竟实际工作应用中会经常使用。1.开发环境。我使用的IDE是Nuclei S
原创
发布博客 2020.09.11 ·
2518 阅读 ·
1 点赞 ·
5 评论 ·
16 收藏

C#游戏《坦克大战》--主程序

今天和女朋友分手,写一段技术博客以平静心态。1.统计信息用于主界面显示各种信息 //统计 public struct t_statistics { public int generateenemyNum; //生成敌人数量 public int destroyenemyNum; //已经摧毁的敌人数量 public int GetcurrenemyNum() //
原创
发布博客 2020.07.18 ·
745 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

C#游戏《坦克大战》--坦克

1.坦克相关信息这里的各种类型,使用struct而不是enum,避免后面强制转换。 //子弹信息 public struct t_bulletinfo { public int idx;//链表中的顺序号 public int dir;//当前方向 public t_bulletinfo(int i, int d) { this.idx = i; this.dir
原创
发布博客 2020.07.17 ·
931 阅读 ·
1 点赞 ·
0 评论 ·
5 收藏

C#游戏《坦克大战》--地图

疫情期间无聊,用C#写了个游戏《坦克大战》。1.概述程序主要包括地图部分,坦克部分,和碰撞检测部分。本章只写地图部分。2.地图系统地图包括底图和上面的地形元素,比如草地(减缓速度),土墙(容易击破),河流(能通过子弹但阻碍坦克)等。而且允许自定义各种地形。3.重点地图系统的重要功能是绘图,并保存地图元素,以便主程序进行碰撞判断。1.可以加载图片当作底图,也可以随机生成。2.绘制元素,或擦除元素并恢复原来的地图内容。3.需要保存工具,下次打开程序还能继续使用。
原创
发布博客 2020.07.16 ·
1254 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

C# MandelBrot分形图绘制

一。代码注:这里为了制造多个渲染效果使用委托类来当作函数指针使用。 private static Random rn = new Random(); private delegate UInt32 _dg_GetUint32Color(int i); private const int mb_iteration = 24; //迭代次数限制 private static _dg_GetUint32Color[] _m.
原创
发布博客 2020.07.15 ·
710 阅读 ·
0 点赞 ·
0 评论 ·
5 收藏

Cortex-M0模仿位带操作使用

Cortex-M3/M4有位带区(BIT-BAND),可以进行位带操作,而Cortex-M0是没有此功能区域的。必须说明一点,BIT-BAND的本质可以说是空间换时间。是为追求速度而设置的功能。像STM32F0XX这些Cortex-M0系列的MCU,如果追求速度,还是老老实实操作BSRR/BRR这类专门的寄存器。如果不介意速度损失,单纯想做出类似"位带"操作(比如:PAout(0)= 0,...
原创
发布博客 2019.04.22 ·
4134 阅读 ·
10 点赞 ·
6 评论 ·
30 收藏

STM32:SPI驱动ADXL345

ADXL345为3轴数字加速度计。支持SPI或I2C访问。网上例子大多是I2C,这里使用4线SPI。一、遇过的坑调试过程花了几个小时,遇到一些小坑。1.开始的时候,无论如何都无法读取芯片ID。这可是最基础的一步啊,SPI,I2C都试过。无奈之下,对照原理图与手册的管脚说明,发现Vs接到地了。其实这个管脚要接电源电压。老实说,一看名字还以为要接地,毕竟一般IC接地脚名字为Vss。让硬件工...
原创
发布博客 2019.03.19 ·
8666 阅读 ·
6 点赞 ·
24 评论 ·
78 收藏

STM32:FSMC驱动TFTLCD(2)

上一篇文章写了ST7789的基本驱动代码,但是没有实现具体的绘图代码。这里加上。1.代码头文件#ifndef __BSP_LCD_H#define __BSP_LCD_H#include "lcd_drv.h"/* RGB565: 高位至低位排列, RRRR RGGG GGGB BBBB*/#define RGB(R,G,B) (((R &gt;...
原创
发布博客 2019.03.14 ·
1339 阅读 ·
3 点赞 ·
0 评论 ·
7 收藏

STM32:FSMC驱动TFTLCD(ST7789)

最近项目使用STM32F407驱动tft彩屏,屏幕的内部驱动芯片为ST7789V,这个IC网上资料不多。废话不说,直接上完整驱动代码。1.代码/**************************************************************************************************** 模块名称 : TFT液晶显示...
原创
发布博客 2019.03.13 ·
11140 阅读 ·
12 点赞 ·
6 评论 ·
92 收藏

STM32:I2S驱动WM8978

最近项目中使用STM32F4驱动音频IC:WM8978。WM8978为DAC+ADC芯片,本身并不具备编解码的功能,一方面,可通过I2S接口接收PCM数据,转为模拟信号输出,此为DAC过程,即放音;一方面,可接收模拟信号转为数字信号,通过I2S接口传输给MCU,此为ADC过程,即录音。WM8978还使用I2C接口配置其工作参数,比如音量,EQ,3D环绕等。WM8978本身可直连1W/8欧的小喇...
原创
发布博客 2019.03.12 ·
27889 阅读 ·
21 点赞 ·
7 评论 ·
122 收藏

nodemcu:使用lua开发esp8266

一、LuaLua是一种轻量级的嵌入式脚本语言。由于它消耗资源小,本身是使用标准c语言开发的,所以也比较合适移植进各种单片机中,用来替代ini,xml这类配置文件,甚至json,并且更加灵活,功能更强。官网:http://www.lua.org二、nodemcu官方解释:nodemcu是超简单的物联网开发平台。直白地说,就是esp8266刷入了lua解析器,可通过Lua脚本控制esp...
原创
发布博客 2019.03.02 ·
2236 阅读 ·
0 点赞 ·
0 评论 ·
11 收藏

LUA移植至STM32全记录

    之前使用nodemcu时萌发了一直Lua至STM32的想法。后来项目需要,便花了2天移植。    Lua移植大约需要67K的rom,所以STM32F103C8无法使用,至少得103CB才行。1. 官网下载源文件http://www.lua.org/download.html我下载的 是当前最新版本--5.3.5。2. 解压,源代码位于src文件夹,去掉lua.c 和 luac.c...
原创
发布博客 2019.02.26 ·
12640 阅读 ·
4 点赞 ·
1 评论 ·
69 收藏

ESP32模组比较

1.简述ESP32系列无线IC是乐鑫espressif出品的性价比高的蓝牙WIFI双模IC。官网:https://www.espressif.com最详细的手册文档为:esp32_technical_reference_manual_cn.pdf2.模组比较将官方和一些其他方的模组列表比较,包括资源,价格。也把芯片放进去。ESP32单核芯片用的少没有列出。可以看出,安信...
原创
发布博客 2019.02.21 ·
8731 阅读 ·
4 点赞 ·
1 评论 ·
10 收藏

嵌入式软件架构的设计

嵌入式软件架构的设计大多数嵌入式程序员学习编程,都是从开发板的附带例程开始。之后工作也会继续参考那些例程,很多编程习惯、方式也会受之影响。其实开发板式的编程方式与工作中实际需求的并不完全一致。开发板的通常卖给初学者,注重“即插即用”,兼容各种模块,讲究功能的全面而不讲究性能、效率、成本、功耗等。很多时候为了兼容各种型号IC或者显示屏之类,程序累赘,逻辑混乱。开发板的程序往往是一个人完成...
原创
发布博客 2019.02.18 ·
15228 阅读 ·
25 点赞 ·
1 评论 ·
177 收藏
加载更多