自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Car12

主要从事Visual C++开发,Linux开发,STM32

  • 博客(18)
  • 资源 (46)
  • 收藏
  • 关注

转载 STDIN_FILENO的作用及与stdin 的区别

1.STDIN_FILENO的作用STDIN_FILENO属于系统API接口库,其声明为 int 型,是一个打开文件句柄,对应的函数主要包括 open/read/write/close 等系统级调用。操作系统一级提供的文件API都是以文件描述符来表示文件。STDIN_FILENO就是标准输入设备(一般是键盘)的文件描述符。2.区别1)数据类型不一致:stdin类型为

2016-09-30 15:23:49 236

原创 进程的优先级设置与获取,进程时间

进程的优先级设置与获取:值越小优先级越高       #include        #include        int niece(int add)       int getpriority(int which, id_t who);       int setpriority(int which, id_t who, int prio);    which:

2016-09-28 08:32:21 1455

原创 进程的优先级设置与获取,进程时间

进程的优先级设置与获取:值越小优先级越高       #include        #include        int niece(int add)       int getpriority(int which, id_t who);       int setpriority(int which, id_t who, int prio);    which:

2016-09-27 16:00:44 702

原创 标准文件I/O操作

FILE 对象包含信息    文件描述符    该流的缓冲区    缓冲区长度    当前缓冲区的字节数    出错标志    #include 改变流的定向int fwide(FILE *stream, int mode);    mode:    mode>0 宽字节流、    mode返回值:    > 0 宽字节流、    

2016-09-27 09:48:21 323

原创 从文件中读取结构体变量的数据读取和写入结构体数据到文件

#include size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream);struct A{ int a; int b; c

2016-09-23 17:26:32 9553

原创 exec函数族

#include extern char **environ;int execl(const char *path, const char *arg, ...);int execlp(const char *file, const char *arg, ...);int execle(const char *path, const char *arg,..., char * con

2016-09-23 14:20:09 252

原创 wait() 和 waitpid()

wait() 和waipid()子进程比父进程先结束执行,则子进程将成为僵死进程父进程比子进程先结束,则子进程将成为孤儿进程,他将有init (pid =1)收养;主动调用wait() 和 waitpid() 的进程A可能发生什么?    如果他的子进程还在运行,则A进程阻塞    如果他的子进程已经停止,则正在等待的进程A会立即返回,    如果进程A没有子进程,

2016-09-23 09:45:13 338

原创 fork() 和 vfork()

fork() 和 vfork() 的最大差别 vfork()保证子进程先运行,在子进程调用exit()或exec() 之后父进程才可能被调度运行。子进程返回 0父进程返回子进程ID父进程和子进程会共享文件表项,公用文件的当前偏移量和V节点//vfork#include#includevoid forkTest(void){ int fd = open("a.txt"

2016-09-22 15:43:28 260

原创 Linux函数之间的goto 跳转

实现函数:setjmp(jmp_buf jmp) 第一次成功返回0 ,第一次以后返回longjmp() 的val值longjmp(jmp_buf jmp, int val )#include #include using namespace std; jmp_buf jmp; void jump2(int x); void jump3(int x);void

2016-09-22 13:34:19 4760

原创 环境变量environ

void getenviron(void){ extern char ** environ; char **pe= environ; while(*pe != NULL) { cout<<*pe<<endl; pe++; }}获取环境变量的值getenv()设置环境变量putenv() ;seten

2016-09-22 11:55:51 454

原创 注册终止处理函数atexit()

#includeatexit(void (*fun)(void)) 注册终止处理函数#include#includeusing namespace std;void exit1(void){    cout}void exit2(void){    cout}typedef void (*fp)(void);void register

2016-09-22 11:50:18 296

原创 各个窗口的应用

import wxclass MDIFrame(wx.MDIParentFrame): def __init__(self): wx.MDIParentFrame.__init__(self,None,-1,'mdi',size = (200,300)) menubar = wx.MenuBar() menu = wx.Menu()

2016-09-14 16:15:31 340

原创 Python菜单

创建菜单栏 menubar = wx.MenuBar()创建父菜单 menu = wx.Menu()把父菜单添加到菜单栏 membar.Append(menu,u"文件")添加子菜单 memu.Append(id,strName)self.Bind(wx.EVT_MENU,function,id)#-*- coding:utf-8 -*-import

2016-09-14 09:49:16 3329

原创 Python布局管理器

使用步骤:创建sizers布局管理器调用SetSizer()将布局管理器添加到容器中调用Add()将组件添加到布局管理器中调用Fit()计算计算布局布局管理器和容器窗口的大小#-*- coding:utf-8 -*-import wxclass gridbagSizer(wx.Frame): def __init__(self): wx.Frame.

2016-09-13 17:07:20 775

转载 wxpython 基本的控件 (按钮)

在wxPython 中有很多不同类型的按钮。这一节,我们将讨论文本按钮、位图按钮、开关按钮(toggle buttons )和通用(generic )按钮。 如何生成一个按钮? 在第一部分(part 1)中,我们已经说明了几个按钮的例子,所以这里我们只简短的涉及它的一些基本的东西。图7.4显示了一个简单的按钮。 图7.4 使用

2016-09-13 14:32:03 19056 2

转载 Python显示文本

使用基本的控件工作 wxPython 工具包提供了多种不同的窗口部件,包括了本章所提到的基本控件。我们涉及静态文本、可编辑的文本、按钮、微调、滑块、复选框、单选按钮、选择器、列表框、组合框和标尺。对于每种窗口部件,我们将提供一个关于如何使用它的简短例子,并附上相关的wxPython API 的说明。 显示文本 这一节以在屏幕上显示文本的例子作为开始,

2016-09-01 17:22:13 9660

原创 Python GUI设计 PythonWx

WxPython 应用程序组成:每一个WxPython应用程序,都有一个应用程序对象。这个应用程序对象拥有至少一个根窗口,这是WxPython程序的必须部分,另外在应用程序对象中实现一个事件循环处理,将处理窗口和其构件的事件。import wxclass MyFrame(wx.Frame): def __init__(self,parent): wx.Frame.

2016-09-01 17:00:33 5083

原创 Python异常处理try...except...finally raise assert

异常处理:try ...except  try代码块放置容易发生异常的语句:except代码块放置处理异常的语句try ...except...finally finally代码快是任何时候都会执行的;通常用于关闭系统的资源try: f = open('db100.txt','r') try: a = f.write('aa') pr

2016-09-01 09:38:29 2966

stm32 8080时序驱动lcd屏幕

内部含有多个驱动代码和lvgl移植示例代码

2024-09-01

fal移植测试demo

FAL (Flash Abstraction Layer) Flash 抽象层,是对 Flash 及基于 Flash 的分区进行管理、操作的抽象层,对上层统一了 Flash 及 分区操作的 API (框架图如下所示),并具有以下特性: - 支持静态可配置的分区表,并可关联多个 Flash 设备; - 分区表支持 **自动装载** 。避免在多固件项目,分区表被多次定义的问题; - 代码精简,对操作系统 **无依赖** ,可运行于裸机平台,比如对资源有一定要求的 Bootloader; - 统一的操作接口。保证了文件系统、OTA、NVM(例如:[EasyFlash](https://github.com/armink-rtt-pkgs/EasyFlash)) 等对 Flash 有一定依赖的组件,底层 Flash 驱动的可重用性; - 自带基于 Finsh/MSH 的测试命令,可以通过 Shell 按字节寻址的方式操作(读写擦) Flash 或分区,方便开发者进行调试、测试;

2024-08-13

Agile Modbus移植教程-基于GD32F103C8T6+RT-Thread+mdk5

轻量型 modbus 协议栈

2024-08-13

基于N32L406+FlashDB(时序数据库 时序数据库)+mdk5 移植教程

一款超轻量级的嵌入式数据库,专注于提供嵌入式产品的数据存储方案。FlashDB 不仅支持传统的基于文件系统的数据库模式,而且结合了 Flash 的特性,具有较强的性能及可靠性。并在保证极低的资源占用前提下,尽可能延长 Flash 使用寿命 FlashDB 提供两种数据库模式: - **键值数据库** :是一种非关系数据库,它将数据存储为键值(Key-Value)对集合,其中键作为唯一标识符。KVDB 操作简洁,可扩展性强。 - **时序数据库** :时间序列数据库 (Time Series Database , 简称 TSDB),它将数据按照 **时间顺序存储** 。TSDB 数据具有时间戳,数据存储量大,插入及查询性能高,数据写满后默认状态是**滚动写入**(也可以设置不覆盖方式)

2024-08-01

基于N32L406MB EasyFlash参数(key-value)记录库移植

[EasyFlash]是一款开源的轻量级嵌入式Flash存储器库,方便开发者更加轻松的实现基于Flash存储器的常见应用开发。非常适合智能家居、可穿戴、工控、医疗、物联网等需要断电存储功能的产品,资源占用极低,支持各种 MCU 片上存储器

2024-07-31

基于N32L406的EasyLogger日志库移植教程

基于N32L406的EasyLogger日志库移植教程

2024-07-31

N32L40x letter-shell终端裸机移植

[letter shell]是一个C语言编写的,可以嵌入在程序中的嵌入式shell,主要面向嵌入式设备,以C语言函数为运行单位,可以通过命令行调用,运行程序中的函数

2024-07-31

基于N32L406 Freertos letter-shell开源终端移植

letter_shell 是一个C语言编写的,可以嵌入在程序中的嵌入式shell,主要面向嵌入式设备,以C语言函数为运行单位,可以通过命令行调用,运行程序中的函数 相对2.x版本,letter shell 3.x增加了用户管理,权限管理,以及对文件系统的初步支持 此外3.x版本修改了命令格式和定义,2.x版本的工程需要经过简单的修改才能完成迁移 若只需要使用基础功能,可以使用letter shell 2.x

2024-07-31

N32L406x+MultiButton+Mdk5移植教程

N32L406x+MultiButton+Mdk5移植教程

2024-07-30

N32L406 移植MultiTimer教程 mdk5

MultiTimer 是一个软件定时器扩展模块,可无限扩展你所需的定时器任务,取代传统的标志位判断方式, 更优雅更便捷地管理程序的时间触发时序。

2024-07-30

基于N32L40x CmBacktrace mdk5平台下的移植测试

N32L40x CmBacktrace Freertos 测试使用

2024-07-30

基于stm32f103rc+lvgl8.2移植

lvgl

2024-07-28

基于N32L40x+w25q16+sfud nor flash开源库移植

基于N32L40x+w25q16+sfud nor flash开源库移植

2024-07-04

N32G45x基于串口IAP实现(含升级工具)

N32G45x基于串口IAP实现(含升级工具)

2024-06-22

中景园1.08寸128x160屏幕移植lvgl

中景园1.08寸128x160屏幕移植lvgl

2024-04-14

移植中景园的1.8寸128x160 的lvgl代码

移植中景园的1.8寸128x160 的lvgl代码

2024-04-14

N32L40x基于串口IAP实现(含升级工具)

N32L40x基于串口IAP实现(含升级工具)

2024-03-10

沁恒CH32V30X学习笔记12-PWM输出

沁恒CH32V30X学习笔记12-PWM输出

2024-02-19

沁恒CH32V30X学习笔记11-使用外部时钟模式2采集脉冲计数

沁恒CH32V30X学习笔记11-使用外部时钟模式2采集脉冲计数

2024-02-19

沁恒CH32V30X学习笔记08-基本定时器超时功能

沁恒CH32V30X学习笔记08-基本定时器超时功能

2024-02-19

沁恒CH32V30X学习笔记09-使用TIM 外部时钟1模式实现硬件计数

沁恒CH32V30X学习笔记09-使用TIM 外部时钟1模式实现硬件计数

2024-02-19

沁恒CH32V30X学习笔记08-基本定时器超时功能

沁恒CH32V30X学习笔记08-基本定时器超时功能

2024-02-19

沁恒CH32V30X学习笔记07-多功能按键框架使用

沁恒CH32V30X学习笔记07-多功能按键框架使用

2024-02-19

沁恒CH32V30X学习笔记06-串口dma接收+空闲中断组合接收数据

沁恒CH32V30X学习笔记06-串口dma接收+空闲中断组合接收数据

2024-02-18

沁恒CH32V30X学习笔记05-串口接收中断和空闲中断组合接收数据

沁恒CH32V30X学习笔记05-串口接收中断和空闲中断组合接收数据

2024-02-18

沁恒CH32V30X学习笔记02-GPIO的使用教程及2次封装驱动

沁恒CH32V30X学习笔记02-GPIO的使用教程及2次封装驱动

2024-02-18

N32L40X学习笔记06-串口dma空闲中断+dma接收数据

N32L40X学习笔记06-串口dma空闲中断+dma接收数据

2024-01-24

N32L406MBL7_DMA_ILD_UART修订.zip

N32L406MBL7_DMA_ILD_UART修订

2024-01-24

N32G430学习笔记9-串口dma方式收发数据+printf的代码版本

N32G430学习笔记9-串口dma方式收发数据+printf的代码版本

2024-01-23

基于gd32f103移植freemodbus master 主栈

基于gd32f103移植freemodbus master 主栈

2024-01-18

GD32F103C8T6移植 RTT Nano 教程

GD32F103C8T6移植 RTT Nano 教程

2024-01-17

基于GD32F103使用串口不同的中断实现freemodbus移植

基于GD32F103使用串口不同的中断实现freemodbus移植

2024-01-16

基于gd32f103c8t6移植的freemodbus工程

基于gd32f103c8t6移植的freemodbus工程

2024-01-16

基于AT32F421的freemodbus 移植

移植freemodbus示例代码

2024-01-15

韦东山老师的从0写RTOS笔记

韦东山老师的从0写RTOS笔记

2023-11-12

N32L406MB在RT-thread系统中读取eeprom数据

N32L406MB在RT-thread系统中读取eeprom数据

2023-08-06

【RTT驱动框架分析03】- sfus flash 操作库的分析和基于STM32F103RCT6+CUBEMX的SFUS移植教程

【RTT驱动框架分析03】- sfus flash 操作库的分析和基于STM32F103RCT6+CUBEMX的SFUS移植教程

2023-07-30

can通讯测试源码包,主要是过滤规则的测试源码

can通讯测试源码包,主要是过滤规则的测试源码

2023-04-05

N32G430的freertos模板工程

N32G430的freertos模板工程

2023-03-26

国民技术N32G430C8L7串口IAP 升级代码

国民技术N32G430C8L7串口IAP 升级代码

2022-10-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除