- 博客(50)
- 收藏
- 关注
原创 10,24 SPI设备驱动
编写驱动文件和test.c,实现使用test.c访问驱动并控制数码管显示的数据设备树&spi4{ pinctrl-names = "default", "sleep";pinctrl-0 = <&spi4_pins_b>;pinctrl-1 = <&spi4_sleep_pins_b>; cs-gpios = <&gpioe 11 0>;//代表片选线
2022-10-24 23:57:19
269
原创 9,20作业
通过platform总线驱动实现应用程序通过阻塞的io模型来读取number变量的值number是内核驱动中的一个变量number的值随着按键按下而改变(按键中断) 例如number=0 按下按键number=1 ,再次按下按键number=0在按下按键的时候需要同时将led1的状态取反驱动中需要编写字符设备驱动 f.驱动中需要自动创建设备节点这个驱动需要的所有设备信息放在设备树的同一个节点pdev.c#include <linux/init.h>#includ
2022-10-21 00:17:43
148
原创 10,18作业
使用外部程序控制灯的闪烁Makefilemodname ?= myledsarch ?= armifeq ($(arch),arm)#arm架构KERNELDIR := /home/ubuntu/fsmp1a/linux-stm32mp-5.10.61-stm32mp-r2-r0/linux-5.10.61elseKERNELDIR := /lib/modules/$(shell uname -r)/build #x86架构路径#KERNELDIR是一个变量,指向内核源码目录end
2022-10-18 21:42:15
137
原创 10,12一个驱动,三个设备节点
demo.c#include <linux/init.h>#include <linux/module.h>#include <linux/fs.h>#include <linux/io.h>#include <linux/cdev.h>#include <linux/ioctl.h>#include <linux/device.h>#include <linux/uaccess.h>#inc
2022-10-12 23:24:42
165
原创 10,12驱动节点
myled.h#ifndef __MYLED_H__ #define __MYLED_H__ typedef struct{ volatile unsigned int MODER; volatile unsigned int OTYPER; volatile unsigned int OSPEEDR; volatile unsigned int PUPDR; volatile unsigned int I
2022-10-12 00:37:39
153
原创 10,10驱动点灯
myled.h#ifndef __MYLED_H__#define __MYLED_H__#define PHY_LED1_MODER 0X50006000#define PHY_LED1_ODR 0X50006014#define PHY_LED1_RCC 0X50000A28#define PHY_LED2_MODER 0X50007000#define PHY_LED2_ODR 0X50007014#define PHY_LED2_RCC 0x50000A28#d
2022-10-11 00:31:25
244
原创 10,5 IIC总线
概念I2C(IIC) 时序1,起始信号备注:起始信号和终止信号都是由主机产生的,起始信号产生之后,总线处于占用状态, 终止信号产生之后,总线处于空闲状态起始信号:在SCL为高电平期间,SDA(数据线)从高电平到低电平的变化(下降沿)2,停止信号停止信号:在SCL为高电平期间,SDA(数据线)从低电平到高电平的变化(上升沿)3,数据传输IIC总线传输时,时钟信号在高电平期间,数据线上的数据必须保持稳定(接收器可以从总线上读取数据)时钟信号在低电平期间,数据线上的数据允许
2022-10-05 20:27:20
358
原创 10,4 M7核中断实验
拿key1举例分析结构框图寄存器总线分析RCC分析GPIO分析EXTI分析GICD分析主要代码/*****KEY1---->PF9**********///初始化EXTI层void pf9_exti_init(){/*****RCC章节初始化******///1.设置GPIOF组时钟使能 MP_AHB4ENSETR[5] = 1RCC->MP_AHB4ENSETR |= 0x
2022-10-04 20:37:54
166
原创 10,3 A7核UART实验
串口uart协议图结构框图RCC分析GPIO分析UART框图分析主要代码//1.初始化函数void uart4_init(){ /*******RCC章节初始化******/ RCC->MP_AHB4ENSETR |= (0x1 << 1); RCC->MP_AHB4ENSETR |= (0x1 << 6); RCC->MP_APB1ENS
2022-10-03 20:09:23
81
原创 10,2PWM实验
马达,蜂鸣器,风扇原理图RCC分析GPIO分析TIM4分析框图分析主要代码// 蜂鸣器void pwm_init(){ // 1. 设置GPIOB,TIM4的时钟使能 RCC->MP_AHB4ENSETR = (0x1 << 1); RCC->MP_APB1ENSETR = (0x1 << 2); // 2. 设置PB6引脚为复用功能 GPIOB->MODER
2022-10-02 21:23:16
120
原创 10,1 M7核LE D灯
M7核框架分析RRC分析GPIO主要功能代码#include "gpio.h"void LED1_INIT(){ RCC_AHB4_ENSETR |= (0x1 << 4); GPIOE->MODER &=(~(0x3<<20)); GPIOE->MODER |=(0x1<<20); GPIOE->OTYPER &=(~(0x1&
2022-10-01 23:32:53
87
原创 9,22作业
pwm.h#ifndef __PWM_H__#define __PWM_H__#include"stm32mp1xx_rcc.h"#include"stm32mp1xx_gpio.h"#include"stm32mp1xx_tim.h"//蜂鸣器初始化 PB6----->TIM4_CH1void pwm_init();//马达初始化 PF6---->TIM16_CH1void motor_init();//风扇初始化 PE9----->TIM1_
2022-09-22 00:07:35
85
原创 9,20作业
#include "iic.h"extern void printf(const char* fmt, ...);/** 函数名 : delay_us* 函数功能:延时函数* 函数参数:无* 函数返回值:无* */void delay_us(void){ unsigned int i = 2000; while(i--);}/** 函数名 : i2c_init* 函数功能: i2C总线引脚的初始化, 通用输出,推挽输出,输出速度,* 函数参数
2022-09-20 23:00:29
69
原创 9,19按键中断作业
gpio.cvoid HAL_GPIO_EXTI_Falling_Callback(uint16_t GPIO_Pin){ switch(GPIO_Pin) { case GPIO_PIN_7: HAL_GPIO_TogglePin(GPIOF,GPIO_PIN_10); printf("key2........\n"); break; case GPIO_PIN_8:
2022-09-19 23:35:41
131
原创 9,18key按键作业
Key.h#ifndef __KEY_H__#define __KEY_H__#include "stm32mp1xx_gpio.h"#include "stm32mp1xx_rcc.h"#include "stm32mp1xx_exti.h"#include "stm32mp1xx_gic.h"//KEY--->PF9//初始化EXti层void pf9_exti_init();//初始化GICD层void pf9_gicd_init();//初始化GICC层voi
2022-09-18 20:55:21
73
原创 9,15作业
uart.h#ifndef __UART4_H__#define __UART4_H__#include "stm32mp1xx_rcc.h"#include "stm32mp1xx_gpio.h"#include "stm32mp1xx_uart.h"//1.初始化函数void uart4_init();//2.发送一个字符void put_char(const char str);//3.接收一个字符char get_char();//发送一个字符串void put_
2022-09-15 23:33:42
78
原创 9,13C流水灯
•h#ifndef __GPIO_H__#define __GPIO_H__#define RCC_AHB4_ENSETR (*(volatile unsigned int*)0x50000A28)type struct{ volatile unsigned int MODER; volatile unsigned int OTYPER; volatile unsigned int OSPEEDR; volatile unsigned int PUPDR;
2022-09-13 22:59:14
97
原创 9,8汇编作业
.text.global _start _start: mov r0,#9 mov r1,#15 cmp r0,r1 bl gongyue gongyue: beq stop cmpne r0,r1 subhi r0,r1 subcc r1,r0 mov pc,lr stop:
2022-09-08 23:41:18
143
原创 9, 5日 Qt实现聊天室
TCP服务器.h#ifndef WIDGET_H#define WIDGET_H#include <QWidget>#include <QTcpServer>#include <QTcpSocket>#include <QList>QT_BEGIN_NAMESPACEnamespace Ui { class Widget; }QT_END_NAMESPACEclass Widget : public QWidget{
2022-09-05 23:21:25
102
原创 9,4号Qt作业
.h头文件#ifndef WIDGET_H#define WIDGET_H#include <QWidget>#include<QLCDNumber>#include<QTime>#include<QMouseEvent>#include<QTimer>#include<QtTextToSpeech>QT_BEGIN_NAMESPACEnamespace Ui { class Widget; }QT
2022-09-04 18:00:10
65
原创 8,31日 qt
#ifndef MYWND_H#define MYWND_H#include <QWidget>#include<QPushButton>#include <QTextToSpeech>class Mywnd : public QWidget{ Q_OBJECTpublic slots: void sayMes();public: Mywnd(QWidget *parent = nullptr); ~Myw...
2022-09-01 01:25:10
45
原创 8,30日C++模版栈队列作业
栈#include <iostream>#define MAX 8using namespace std;template<typename T>class mysta{public: //构造函数 mysta(int size=MAX){ head =new T[size]; top=head; end=head+size; } //析构函数 ~mysta() ...
2022-08-31 00:26:34
239
原创 8,25作业
#include <iostream>using namespace std;class Student {public: Student(){} ~Student(){} Student(string _name,int _age,int _score):\ name(_name),age(_age),score(_score){}protected: string name; int age; int scor...
2022-08-26 00:45:33
56
原创 8,24作业
#include <iostream>#include <cstring>using namespace std;class my_string{private: char *str; int len;public: //无参构造 my_string() { str=NULL; len=0; } //有参构造 my_string(char *str) {
2022-08-24 23:28:20
40
原创 8,23作业
#include <iostream>#include<cstring>using namespace std;class my_string{private: char *str; int len;public: //无参构造 my_string() { len=0; str=NULL; } //析构函数 ~my_string() { de
2022-08-24 08:26:41
44
原创 8,22作业
封装一个类:私有成员为:一个长度为8的整形数组公有成员为:输出函数:输出数组中所有内容;输入函数:输入数组所有元素;求和函数:求得数组中所有元素的和排序函数:将数组中的元素进行升序排序要求:成员函数类内声明,类外定义。#include <iostream>using namespace std;class arr{public: void output(); void input(); int sum();
2022-08-22 19:05:51
45
原创 8,17日作业
#include<stdio.h>#include<sqlite3.h>#include <stdlib.h>#include <string.h>int do_insert(sqlite3 *db,FILE *fp){ int flag=0,i=0,j=0,k=0; char get; char word[128]=""; char partofspeech[50]=""; size_t res=-1;...
2022-08-18 00:32:31
59
原创 8,16作业
select的TCP服务器模型代码#include <stdio.h> #include <sys/select.h>#include <sys/socket.h>#include <sys/types.h>#include <netinet/in.h>#include <netinet/ip.h>#include <arpa/inet.h>#include <string.h>#in...
2022-08-16 20:07:05
46
原创 8,12作业
UDP聊天室服务端#include<stdio.h>#include<sys/types.h>#include<sys/socket.h>#include<netinet/in.h>#include<arpa/inet.h>#include<unistd.h>#include<string.h>#include<stdlib.h>#include<pthread.h>//.
2022-08-14 23:50:06
107
原创 8.10作业
代码 :#include<stdio.h>#include<sys/types.h>#include<sys/socket.h>#include <arpa/inet.h>#include <netinet/in.h>#include <strings.h>#include <unistd.h>#include <pthread.h>#include <string.h>#i..
2022-08-10 20:42:59
49
原创 8,9作业
#include <stdio.h>#include <sys/太阳pes.h>#include <sys/socket.h>#include <arpa/inet.h>#include <netinet/in.h>#include <string.h>#include <unistd.h>//打印错误新的宏函数#define ERR_MSG(msg) do{\ fprintf(stderr, "...
2022-08-10 00:42:13
67
原创 8,6作业
1.A进程发送一句话,B进程接收打印2.然后B进程发送给A进程一句话,A进程接收打印3.重复1,2步骤,直到A进程或者B进程收到quit,退出AB进程;4.在1,2,3的基础上实现,AB进程能够随时收发数据(附加题)A#include <stdio.h>#include <sys/types.h>#include <sys/ipc.h>#include <sys/msg.h>#include <stdlib.h>#inclu
2022-08-07 23:16:27
43
原创 8.4 AB进程通信和signal作业
1#include <stdio.h>#include <unistd.h>#include <sys/types.h>#include <string.h>#include <sys/wait.h>#include <fcntl.h>#include <sys/stat.h>#include <errno.h>#include <stdlib.h>int main...
2022-08-04 20:12:42
83
原创 8.3 3个线程作业
#include<stdio.h>#include<stdlib.h>#include<unistd.h>#include<pthread.h>pthread_cond_t cond;pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;int flag = 0;int i = 0;void* callBack1(void* arg){ while(1) {...
2022-08-03 20:16:13
81
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人