
嵌入式
崭蓝码农
江湖险恶,远离黑暗,轻松自在
展开
-
Project_01 [2022-03-06]开源自己当年的毕业设计:树莓派视频小车
开源自己当年的毕业设计:树莓派视频小车,持续更新迭代,B站视频剪辑中,敬请期待。原创 2022-03-07 00:41:23 · 420 阅读 · 1 评论 -
C语言课程设计之图书管理系统(涉及链表、文件)
效果图如下:C语言代码如下://全部都是原创的,自己写的,历时近五天。//运用了链表进行数据处理,然后用了文件存储数据。每次处理后又重新存进文件。#include<stdio.h>#include<stdlib.h>#include<string.h>//这个student就是读者,也就是借书证的信息struct student{ ...原创 2019-03-17 16:57:06 · 5107 阅读 · 18 评论 -
mjpg-streamer安卓APP
该APP主要作用是:(同一局域网内有下位机)根据输入的IP和端口号,利用Webview显示下位机的图像。有两个Activity,其中第一个是输入信息的页面,第二个是Webview的页面。过程中遇到两个问题:1、Webview加载网页时出现NET::ERR_CACHE_MISS的错误1.在res文件夹下创建一个xml文件夹,然后创建一个network_security_confi...原创 2019-03-08 01:28:49 · 1763 阅读 · 2 评论 -
Linux学习_裸机【2】_点亮Led_C语言
使用了韦东山的JZ2440板子led_on.c文件代码如下:int main(){ unsigned int *pGPFCON = (unsigned int *)0x56000050; unsigned int *pGPFDAT = (unsigned int *)0x56000054; /*配置GPF4为输出引脚*/ *pGPFCON = 0x100; /*设置GPF...原创 2019-03-04 23:48:21 · 211 阅读 · 0 评论 -
Linux学习_裸机【1】_点亮Led_汇编
使用了韦东山的JZ2440板子led_on.S文件代码如下:/* *点亮LED:gpf4 */.text.global _start_start:/*配置GPF4为输出引脚 *把0x100写到地址0x56000050 */ldr r1, =0x56000050ldr r0, =0x100 /* mov r0, #0x100 */str r0, [r1]/*...原创 2019-03-04 21:09:10 · 198 阅读 · 0 评论 -
Linux学习_裸机【3】_Makefile入门
工作目录下有 a.c 和 b.c 时,可使用如下命令来编译。gcc -o test a.c b.c该方式简单明了,但是存在缺点(浪费,修改部分也会全部重新处理)。【拓展:一个c语言文件要得到可执行文件,需要经过四个步骤:(预处理、编译、汇编)、链接。一般把上面括号中的三步骤称为编译。可使用如下命令看到gcc命令的处理过程。gcc -o test a.c b.c -v...原创 2019-03-06 08:20:32 · 145 阅读 · 0 评论 -
基于树莓派的视频小车的设计与实现【1】
(毕业设计)打算做个遥控小车,于是,就搜索了相关文章,其中值得参考的如下:1、Sunny的树莓派小车(6篇博文教程),链接如下:https://www.sunnyos.com/article-show-56.html2、Mjpg-Streamer实现网络监控https://blog.youkuaiyun.com/czy_1125/article/details/52636699/*****...原创 2019-06-19 22:22:17 · 1280 阅读 · 0 评论 -
Linux学习_基础篇_第一章
首先,记录一些基础概念: 1、计算机五大单元:输入单元、输出单元、CPU内部的控制单元、算术逻辑单元、内存。注:CPU,中央处理器,Central Processing Unit2、CPU内部的微指令集RISC,精简指令集,Reduced Instruction Set ComputingCISC,复杂指令集,Complex Instruction Set Computer3、内存DRAM,动...原创 2018-06-22 04:05:17 · 195 阅读 · 0 评论 -
Linux学习_基础篇_第二章
open成功后,读写文件ssize_t read(int fd, void *buf, size_t count);fd表示文件描述符,由open打开得到buf表示装载读出的数据的缓冲区地址count表示缓冲区大小返回值是整数,表示读出的字节数ssize_t write(int fd, const void *buf, size_t count);返回值为写入的字节数操作完后,应close关闭文件...原创 2018-06-22 19:26:30 · 170 阅读 · 0 评论 -
恢复U盘分区:windows自带工具diskpart
恢复分区后的U盘容量-通过windows系统自带工具原创 2022-04-15 11:53:45 · 2281 阅读 · 0 评论 -
开刷:牛客网华为机试题(Day04)
描述•连续输入字符串,请按长度为8拆分每个输入字符串并进行输出;•长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。输入描述:连续输入字符串(输入多次,每个字符串长度小于等于100)输出描述:依次输出所有分割后的长度为8的新字符串-------------------------------------------------------示例:输入:abc123456789复制输出:abc000001234567890000000#原创 2021-10-23 21:46:11 · 113 阅读 · 0 评论 -
开刷:牛客网华为机试题(Day03)
描述明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作(同一个测试用例里可能会有多组数据(用于不同的调查),希望大家能正确处理)。注:测试用例保证输入参数的正确性,答题者无需验证。测试用例不止一组。当没有新的输入时,说明输入结束。原创 2021-10-16 03:15:43 · 165 阅读 · 0 评论 -
开刷:牛客网华为机试题(Day02)
描述写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字母,然后输出输入字符串中该字母的出现次数。不区分大小写,字符串长度小于500。输入描述:第一行输入一个由字母和数字以及空格组成的字符串,第二行输入一个字母。输出描述:输出输入字符串中含有该字符的个数。#include<stdio.h>#include<string.h>int main(){ char bBuff[500] = {0}; char bChar = 0, b原创 2021-10-13 23:16:34 · 149 阅读 · 0 评论 -
开刷:牛客网华为机试题(Day01)
描述计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结尾)输入描述:输入一行,代表要计算的字符串,非空,长度小于5000。输出描述:输出一个整数,表示输入字符串最后一个单词的长度。#include<stdio.h>#include<string.h>int main(){ unsigned int dwLen = 0; char bBuff[5000]; whi.原创 2021-10-12 19:26:45 · 126 阅读 · 0 评论 -
RTX操作系统教程[04]
一、信号集合osSemaphoreId arrived1,arrived2;osSemaphoreDef(arrived1);osSemaphoreDef(arrived2);void thread1 (void){Arrived1 =osSemaphoreCreate(osSemaphore(arrived1),ZERO_TOKENS);Arrived2 =osSemaphoreCreate(osSemaphore(arrived2),ZERO_TOKENS);while(1){Fun原创 2021-08-12 16:53:39 · 562 阅读 · 0 评论 -
RTX操作系统教程[03]
一、信号量osSemaphoreId sem1;osSemaphoreDef(sem1);sem1 = osSemaphoreCreate(osSemaphore(sem1), SIX_TOKENS);信号量标记也可能在线程运行时创建和销毁。例如,你可以用零标记初始化一个信号量,然后使用一个thread将标记创建到信号量中,同时另一个线程删除它们。这允许您将线程设计为生产者线程和消费者线程。一旦初始化了信号量,就可以以类似于事件标志的方式获取标记并将其发送给信号量。操作系统的sem等待调原创 2021-08-12 10:53:25 · 635 阅读 · 0 评论 -
RTX操作系统教程[02]
一、信号RTX支持每个线程多达16个信号标志。这些信号存储在线程控制块中。可以暂停一个线程的执行,直到系统中另一个线程设置了特定的信号标志或一组信号标志。osEvent osSignalWait ( int32_t signals,uint32_t millisec);值为0xFFFF时,定义一个无限超时时间。如果在调用osSignalWait时将signals变量设置为零,那么设置任何标志都会导致线程继续执行。你可以通过读取oseven .value.signals的返回值来查看设置了哪原创 2021-08-12 09:47:46 · 2216 阅读 · 0 评论 -
RTX操作系统教程[01]
延时void osDelay (uint32_t millisec )除了纯时间延迟外,还可以使线程停止并进入等待状态,直到线程被另一个RTOS事件触发。RTOS事件可以是信号、消息或邮件事件。osWaitO API调用也有一个以毫秒为单位定义的超时时间,允许线程在没有发生事件时唤醒并继续执行:osStatus osWait (uint32_t millisec )注意:Keil RTX RTOS不支持osWait API调用虚拟定时器//led_function为回调函数..原创 2021-08-12 09:06:16 · 725 阅读 · 0 评论 -
RTX操作系统教程[00]
官方教程地址:RTX官方教程(下文摘自官方教程)一、概述该RTOS本身由一个支持循环、抢占和协作的程序线程多任务调度程序组成。以及时间和内存管理服务。其他RTOS对象支持线程间通信,包括信号触发、信号量、互斥和邮箱系统。正如我们将看到的,中断处理也可以由RTOS内核调度的优先线程来完成。(1)#include <cmsis_os.h>这个头文件由ARM维护,作为cmis - rtos标准的一部分。对于cmis - rtos Keil RTX,这是默认的API。其他R原创 2021-08-11 18:19:10 · 2032 阅读 · 0 评论 -
学习【新版的】韦东山嵌入式_day02
在前文基础上,开始(1)设置交叉编译工具链vim ~/.bashrc在文件末尾添加:(注意!!要根据自己的sdk的路径更改!!笔者的sdk放在/home/book/share/中)export ARCH=armexport CROSS_COMPILE=arm-buildroot-linux-gnueabihf-export PATH=$PATH:/home/book/share/100ask_imx6ull-sdk/ToolChain/arm-buildroot-linux-g原创 2021-07-08 14:23:13 · 274 阅读 · 0 评论 -
Ubuntu18 设置静态IP
使用root权限,修改 /etc/netplan 目录下的文件 01-network-manager-all.yaml注意点:1、冒号后面一定要有空格;2、分层关系不能乱;3、renderer后面的是networkd4、gatway4:后面不需要 [ ]原创 2020-07-19 10:44:14 · 457 阅读 · 0 评论 -
学习【新版的】韦东山嵌入式_day01
一、入门资料在:http://wiki.100ask.org/Mainpage二、在笔记本电脑上安装git从https://gitforwindows.org下载(笔者笔记本为win10系统)原创 2021-07-08 13:23:26 · 192 阅读 · 0 评论 -
keil5_出现红叉_报错 error in include chain _原因及解决办法
参考1:http://blog.sina.com.cn/s/blog_6a136fc70102yonn.html (原因)参考2:http://www.openedv.com/thread-280737-1-83.html (解决办法)现象如下:但编译不报任何错,不影响使用。只是多了个红×。解决办法:keil中 : Edit→configuretion→Text ...原创 2019-09-14 04:32:25 · 20739 阅读 · 6 评论