内核入门(七)——中断管理

中断管理一、Corte-M架构基础1.1 寄存器简介1.2 操作模式和特权级别1.3 NVIC1.4 PenSV二、RTT中断工作机制三、中断管理  中断指计算机CPU获知某些事,暂停正在执行的程序,转而去执行处理该事件的程序,当这段程序执行完毕后再继续执行之前的程序。整个过程称为中断处理,简称中断,而引起这一过程的事件称为中断事件。中断是计算机实现并发执行的关键,也是操作系统工作的根本。  ...
分类: 其他 发布时间: 04-07 13:01 阅读次数: 0

内核入门(八)——内核移植

内核移植一级目录  内核移植就是指将RT-Thread 内核在不同的芯片架构、不同的板卡上运行起来,能够具备线程管理和调度,内存管理,线程间同步和通信、定时器管理等功能。移植可分为CPU 架构移植和BSP(Board support package,板级支持包)移植两部分。一级目录...
分类: 其他 发布时间: 04-07 13:01 阅读次数: 0

FinSH控制台

RT-Thread FinSH使用一、FinSH内置命令二、自定义FinSH命令2.1 自定义msh命令2.2 自定义C-style命令三、FinSH功能配置  shell是用户与操作系统间接口的程序,它允许用户向操作系统输入需要执行的命令,并将操作系统的运行结果返回给用户。  FinSH就是RT-Thread的shell(命令行组件),在读取输入命令后,解析并自动扫描内部函数表,寻找对应函数...
分类: 其他 发布时间: 04-07 13:01 阅读次数: 0

RT-Thread引脚管理及IO设备模型

RT-Thread常用设备与驱动一、IO设备模型1.1 IO设备介绍1.1.1 IO设备模型框架1.1.2 IO设备模型1.1.3 IO设备分类1.2 创建和注册IO设备1.2.1 创建与删除1.2.2 注册与注销1.3 访问IO设备1.3.1 查找设备1.3.2 初始化设备1.3.3 打开和关闭1.3.4 控制设备1.3.5 读写设备1.3.6 数据收发回调二、PIN设备三、UART设备四、II...
分类: 其他 发布时间: 04-07 13:01 阅读次数: 0

RT-Thread传感器驱动框架

传感器驱动框架框架介绍驱动开发框架介绍驱动开发
分类: 其他 发布时间: 04-07 13:01 阅读次数: 0

C++中 缺省参数

1.概念:缺省参数是函数在声明或者定义时为函数指定一个默认值。在调用该函数时,如果没有指定实参则使用其默认值,否则使用指定的实参。#include <iostream>using namespace std;void Print(int num){cout<<num<<endl;}int main(){Print();//没有传参数,使用默认值Print(10);//进行了传参,使用指定的实参return 0;}2.缺省参数的分类(1)全缺省
分类: 其他 发布时间: 04-07 12:41 阅读次数: 0

合法括号序列判断C++ --牛客网

#includeusing namespace std;//方法:和数列比大小 找到适合位置 然后和左右两边谁比较近int main(){int N=0;cin>>N;int F[100]={0,1};int i=0;for(int i=2;i<100;i++){F[i]=F[i-1]+F[i-2];}int result=0;for(int i=0;i<100;i++){if(F[i]<=N&&F[i+1]>=N)...
分类: 其他 发布时间: 04-07 12:41 阅读次数: 0

Fibonacci数列 C++ 题目来源:牛客网

[编程题]Fibonacci数列Fibonacci数列是这样定义的:F[0] = 0F[1] = 1for each i ≥ 2: F[i] = F[i-1] + F[i-2]因此,Fibonacci数列就形如:0, 1, 1, 2, 3, 5, 8, 13, …,在Fibonacci数列中的数我们称为Fibonacci数。给你一个N,你想让其变为一个Fibonacci数,每一步你可以把当前数字X变为X-1或者X+1,现在给你一个数N求最少需要多少步可以变为Fibonacci数。输入描述:..
分类: 其他 发布时间: 04-07 12:40 阅读次数: 0

另类加法 题目来源:牛客网

题目来源:w.nowcoder.com/practice/e7e0d226f1e84ba7ab8b28efc6e1aebc题目描述给定两个int A和B。编写一个函数返回A+B的值,但不得使用+或其他算数运算符。测试样例:1,2返回:3思路两个数相异或的结果其实就是两个数相加(但其不进行进位)两个数相与的结果其实就是两个数相加后的进位的值异或:相异为1 相同为0与: 同时为1时为1eg:3->0011 9->10013^9->1010 sum3&amp.
分类: 其他 发布时间: 04-07 12:40 阅读次数: 0

了解多线程(1)

线程概念线程控制线程终止线程安全互斥和同步
分类: 其他 发布时间: 04-07 12:40 阅读次数: 0

井字棋 C++ 来源:牛客网

链接:https://www.nowcoder.com/questionTerminal/e1bb714eb9924188a0d5a6df2216a3d1?pos=19&mutiTagIds=639&orderByHotValue=0&questionTypes=000100题目:井字棋给定一个二维数组board,代表棋盘,其中元素为1的代表是当前玩家的棋子,0表示没有棋子,-1代表是对方玩家的棋子。当一方棋子在横竖斜方向上有连成排的及获胜(及井字棋规则),返回当前玩家是..
分类: 其他 发布时间: 04-07 12:40 阅读次数: 0

求最大连续bit数 C++ 牛客网

1.题目链接:https://www.nowcoder.com/questionTerminal/4b1658fd8ffb4217bc3b7e85a38cfaf22.代码#include<iostream>using namespace std;int main(){ //思路:让n的每一位都和1相& 如果连续为1,则进行计数,如果不连续为1,则进行清零,每次计数发生变化,就进行相比,保留大的那个 int n=0; while(cin>>n)
分类: 其他 发布时间: 04-07 12:40 阅读次数: 0

最近公共先祖 C++ 牛客网

1.题目链接:https://www.nowcoder.com/questionTerminal/70e00e490b454006976c1fdf47f155d92.题目将一棵无穷大满二叉树的结点按根结点一层一层地从左往右编号,根结点编号为1。现给定a,b为两个结点。设计一个算法,返回a、b最近的公共祖先的编号。注意其祖先也可能是结点本身。测试样例:2,3返回:13.代码class LCA {public: int getLCA(int a, int b) { //
分类: 其他 发布时间: 04-07 12:40 阅读次数: 0

查找组成一个偶数最接近的两个素数 C++ 牛客网

#include<iostream>#include<cmath>using namespace std;//思路:偶数num由两个素数组成,那么这两个素数一定是一个比num的一半小的,一个比num的一半大的数//从num/2开始向两边找到最近的两个素数,就是符合题目要求的bool isPrime(int n){ int i=0; for(int i=2;i<=sqrt(n);i++){ if(n%i==0)//如果能被除了1和它本身的
分类: 其他 发布时间: 04-07 12:40 阅读次数: 0

二进制插入 C++牛客网

1.来源https://www.nowcoder.com/questionTerminal/30c1674ad5694b3f8f0bc2de6f005490?toCommentId=1459882.题目给定两个32位整数n和m,同时给定i和j,将m的二进制数位插入到n的二进制的第j到第i位,保证n的第j到第i位均为零,且m的二进制位数小于等于i-j+1,其中二进制的位数从0开始由低到高。测试样例:1024,19,2,6返回:11003.代码方法1:class BinInsert {pub
分类: 其他 发布时间: 04-07 12:40 阅读次数: 0

统计每个月兔子总数 C++ 牛客网

1.链接https://www.nowcoder.com/questionTerminal/1221ec77125d4370833fd3ad5ba723952.题目有一只兔子,从出生后第3个月起每个月都生一只兔子,小兔子长到第三个月后每个月又生一只兔子,假如兔子都不死,问每个月的兔子总数为多少?本题有多组数据。输入描述:输入int型表示month输出描述:输出兔子总数int型示例1输入9输出342.思路开始时,对每个月的兔子数量自己手动进行计算,找规律,然后发现其数列是: 1、
分类: 其他 发布时间: 04-07 12:40 阅读次数: 0

牛客网 选择题

1.以下哪个ip不和10.11.12.91/28处于同一个子网(D)A 10.11.12.85/28B 10.11.12.88/28C 10.11.12.94/28D 10.11.12.97/28【解析】判断两个ip地址是否处于同一个子网的依据是子网掩码,计算方法为:将ip地址和子网掩码进行二进制转换,两者进行与运算,得出结果相同则处于同一个子网ip是由网络号和主机号组成的,前28位为网络号,后4位为主机号,位于同一子网只用区分主机号本题中ip地址前班部分都为10.11.12,因此只用关注后
分类: 其他 发布时间: 04-07 12:40 阅读次数: 0

模板2

1.模板的概念2.模板的分类3.模板的特化全特化偏特化(面试概率20%)想要在主函数之前调用一个函数
分类: 其他 发布时间: 04-07 12:40 阅读次数: 0

红与黑 牛客网

------题目描述有一间长方形的房子,地上铺了红色、黑色两种颜色的正方形瓷砖。你站在其中一块黑色的瓷砖上,只能向相邻的(上下左右四个方向)黑色瓷砖移动。请写一个程序,计算你总共能够到达多少块黑色的瓷砖。输入描述:输入包含多组数据。每组数据第一行是两个整数 m 和 n(1≤m, n≤20)。紧接着 m 行,每行包括 n 个字符。每个字符表示一块瓷砖的颜色,规则如下:“.”:黑色的瓷砖;“#”:白色的瓷砖;“@”:黑色的瓷砖,并且你站在这块瓷砖上。该字符在每个数据集合中唯一出现一次。输出描
分类: 其他 发布时间: 04-07 12:39 阅读次数: 0

[编程题]洗牌 牛客网

洗牌在生活中十分常见,现在需要写一个程序模拟洗牌的过程。 现在需要洗2n张牌,从上到下依次是第1张,第2张,第3张一直到第2n张。首先,我们把这2n张牌分成两堆,左手拿着第1张到第n张(上半堆),右手拿着第n+1张到第2n张(下半堆)。接着就开始洗牌的过程,先放下右手的最后一张牌,再放下左手的最后一张牌,接着放下右手的倒数第二张牌,再放下左手的倒数第二张牌,直到最后放下左手的第一张牌。接着把牌合并起来就可以了。 例如有6张牌,最开始牌的序列是1,2,3,4,5,6。首先分成两组,左手拿着1,2,3;右...
分类: 其他 发布时间: 04-07 12:39 阅读次数: 0