- 博客(32)
- 资源 (2)
- 收藏
- 关注
原创 FPGA串口
在数据来的时候检测下降沿,并且拉高start信号,再进行波特率计数,溢出时累加接收到的比特数,在计数到波特率中间位置时去读取rx的值(也就是reg3),将包括起始位、停止位的字节数据存放到buffer里面去。
2023-06-02 18:13:52 155
原创 STM32H7 DMA
这个函数开启DMA接收,将收到的数据存放到Rxbuffer数组中去,当接收到了sizeof(Rxbuffer)个数据就会回调DMA1_Stream0_IRQHandler函数,再从HAL_DMA_IRQHandler继续回调HAL_UART_RxCpltCallback()这个函数。HAL_UART_RxCpltCallback是一个弱函数,需要自己去重写,否则默认HAL自带的形式。重写HAL_UART_RxCpltCallback()发送速度确实挺快的。
2023-04-30 20:01:13 404
原创 STMF103C8T6 && H7B0VBT6 Flash记录
STM32F103C8T6 flash大小为64KB。建立flash.h flash.c文件。flash.h内容如下。
2023-04-29 12:07:13 282
原创 STM32H7B0VBT6芯片烧写程序踩坑记录
https://www.stmcu.com.cn/Designresource/detail/software/710763] 或。我这里分配了0x0000f000也就是60KB的RAM空间大小来存放算法文件(不要超过128KB)。1.新的芯片第一次烧写需要通过ST官方烧录软件CubeProgrammer进行串口烧写。连接串口(A9,A10号引脚),打开文件。keil下STlink下载报错。BOOT0拉高,下载即可.
2023-04-22 11:48:34 1075 2
原创 正点原子Linux学习之LED篇
思路如下:头文件:#ifndef LED_H#define LED_H/*********************************** * @By Ho_Yim * @此处定义结构体,寄存器基地址,宏 * * ********************************///寄存器基地址#define ccm 0x020c406c //CCGR0的地址#define iomuxc_sw_mux_ctl_pad_gpi
2022-04-17 12:00:00 354 2
原创 关于指针函数,我有些话要说
#include "stdio.h"int c = 100;int* add(int a,int b) //一段特殊的内存,它存放的是自己地址{ c = a + b; return &c; }int* (*Add)(int,int); //申明一个函数指针int main(void){ Add = add; //Add是一个指针变量,存放了指针函数(一个指针)的内容 printf(" &c:%p\n\n",&c
2022-04-15 09:49:40 61
原创 C语言指针综合应用
#include "stdio.h"#include "malloc.h"typedef char* string;typedef struct Calculator{ void *pointer; void (*PRINT)(int); //定义函数指针,此处不能再使用typedef int (*ADD)(int,int); //使用时需要初始化一个变量出来}Cal; //这种结构体不能用malloc函数初始化变量/*****************************
2022-04-13 21:20:19 528
原创 typedef void (*p)(void)说明
#include "stdio.h"void print(void){ printf("print\n");}void PRINT(void){ printf("PRINT\n");}//定义了一个别名为p0的函数指针typedef void (*p0)(void); //使用时要定义一个变量p0 p;/*******************************************************************/int (*p1)(int c,in
2022-04-13 19:47:22 1301
原创 define和typedef
#include "stdio.h"//#define string char* //只能替换,定义string str1 = "hello",str2 = "world",则会报错typedef char* string; //给类型起别名,且定义string str1 = "hello",str2 = "world"不会出错int main(void){ string str1 = "hello",str2 = "world"; printf("%s\n",str1); printf
2022-04-13 19:40:27 56
原创 C语言结构体函数指针
#include <stdio.h>#include <malloc.h>typedef struct Value //只有结构体变量才分配地址,而结构体的定义是不分配空间的{ int dat; char str;}Value;typedef struct Fun{ //只有结构体变量才分配地址,而结构体的定义是不分配空间的 int a,b; int m,n; void(*print)(void); //函数指针,是一个指针变量,指向某个函数的地址,
2022-04-13 18:55:37 1947
原创 蓝桥杯超声波
//蓝桥杯超声波模块#include "STC15F2K60S2.h" #include "intrins.h"sbit beep = P0^6;sbit a = P2^5;sbit b = P2^6;sbit c = P2^7;sbit trig = P1^0;sbit echo = P1^1;#define Y7C {a = b = c = 1;} //dula#define Y6C {a = 0;b = c = 1;} //wela
2022-02-25 12:36:20 673
原创 51外部中断学习记录
#include "reg52.h"void delay_ms(int x){ int i; for(;x>0;--x) for(i=110;i>0;--i);}main(){ EA = 1; EX0 = 1; EX1 = 1; IT0 = 0; //INT0:电平触发 IT1 = 1; //INT1:跳变沿触发 P2 = 0X55; while(1);}void Ex_INT0(void) interrupt 0 //外部中断服务函数
2021-11-24 14:46:33 69
原创 基于51的DS18B20驱动
#include "reg52.h"#include "stdio.h"#include "intrins.h"#define uchar unsigned char //1字节,8位#define uint unsigned int //2字节,16位sbit ds = P3^7; //DS18B20输出口/*************************************************************
2021-11-19 22:34:50 818
原创 基于51的HC_SR04学习记录
#include "reg52.h"#include "intrins.h"#include "stdio.h"/********************************************************************超声波工作原理: Trig脚先发出持续10us的高电平,然后echo接收到一定比例的声波,这期间echo为高电平,声波消失echo电平再次变为低电平***************************************************
2021-11-18 13:20:45 273
原创 51串口的学习记录
51串口的学习记录#include "reg52.h"#include "stdio.h"#include "intrins.h"/********************************Fm = Fosc/12 ===>>> Tm = 12Tosc********************************/char dat = 65;int num=0;void delayms(int x){ int t; for(;x>0;--x) f
2021-11-15 12:32:27 523
原创 5个小例子快速入门汇编(包括软件下载)
这学期结束了汇编的学习,光看书听老师讲是没有太大提高的。这里整理了一些代码,提供参考,也是我对汇编学习的总结。软件下载(百度盘):https://pan.baidu.com/s/1RTCBPFrJjSsuUKsI2ku-Gg提取码:9876data segment str DB 'Hello world!','$' ;调用ah的9号功能将dx中的内容输出,以‘$’结束 data endscode segment assume cs:code,ds:data run
2021-07-02 21:16:01 1196
原创 STM32中的定时器实现呼吸灯效果
最近用32的定时器来做个呼吸灯,之前看其他博主的代码觉得有点难以理解。自己决定再动手写个代码用来记录STM32的学习。中断的配置函数:#include "timer_1.h"#include "stm32f10x.h"/*1,时钟使能2,配置预分频、自动重装值和重复计数值3,清除中断标志位(否则会先进一次中断)4,使能TIM中断,选择中断源5,设置中断优先级6,使能TIMx外设arr:自动重装值 psc:时钟预分频数 */static void NVIC_init(voi
2021-04-16 18:50:07 1758
原创 基于STM32F103C8T6最小系统板的MPU6050陀螺仪实验
底板:STM32F103C8T6传感器:MPU6050,OLED驱动:正点原子(本人加以改动,因为原驱动比较复杂用了串口和上位机,而我用OLED实时显示MPU6050的数据做到了轻量化级别)接线:OLED(ISP):VCC—3.3VGND—GNDD0—PB9D1—PB8RES—PB6DC—PB5CS—GND(CS接地)MPU6050:VCC—3.3VGND—GNDSDA—PC14SCL—PC13(PC13也是STM32F103C8T6的灯,低电平点亮)因为我在入门学习M
2021-04-05 15:18:00 4638
原创 Java练习题(打印1 3 6 10 15......)
package Thinking_work;public class work_12 {public static void main(String[] args) { int m,n,sum=0; int start=1; int x = 1,y=0; int different_value_m = 2,different_value_n = 1; //different_value_x:差值从2开始,每一行依次加一 for(m = 5;m>0;--m) { y =
2021-04-01 16:44:14 430
原创 Java学习实例,用冒泡验证数字黑洞
用java语言来验证一下四位数的数字黑洞,代码如下:package Number_6174;import java.util.Scanner;public class number_6174 { private static void bubble_sort_up(int arry[]){ int i,j,t; for(i = arry.length-1;i>0;--i) for(j=0;j<i;++j) if(arry[j]>arry[j+1]) {
2021-03-19 13:41:52 308
原创 关于kernels启动报错的问题
错误描述:An error ocurred while starting the kernelYour Python environment or installation doesn’t have the spyder‑kernels module or the right version of it installed (>= 1.8.0 and < 2.0.0). Without this module is not possible for Spyder to create a co
2021-03-07 20:37:04 9833 7
原创 关于ESP8266和Micropython的学习笔记
大体思路:1.明白ESPB866自带wifi模块,实质上也是一款MCU。2.连接ESP8266单片机有两种方式:CH340(直接接线)和Wifi。3.Micropython是基于python3的一款简化版语言,它也继承了python的语法规则。4.在使用Micropython之前,需要进行ESP8266的Erase(这里推荐使用windows下的一款软件:ESP8266Flasher)。5.我们在使用Micropython编程之前需要下载固件(http://www.micropython.org/
2021-03-03 20:52:04 608 2
转载 记录一下Tensorflow中可能会遇到的坑
Tensorflow学习笔记以下为代码部分:import tensorflow as tfimport numpy as np# tf.disable_v2_behavior()# create datax_data = np.random.rand(100).astype(np.float32) # 一百个随机数列 定义数据类型#y_data = x_data*0.1+0.3 # W为0.3y_data = x_data*0.56+0.9...
2021-02-27 20:01:44 343
原创 C51蓝牙小车制作及代码
C51蓝牙小车1.材料:4WD板子,L298N电机驱动模块,稳压模块,C51(2)芯片,芯片底座,HC-05蓝牙模块,杜邦线,三节3.7V充电电池,一个DC电池盒。注意:4WD底板有4个130马达,所以L298N需要两个,单片机供电为5V,蓝牙模块供电为3.6到6V之间,故用稳压模块是为蓝牙模块和C51芯片供电。130马达可以承受11V左右的电压但建议用PWM降压让它维持在8V左右的电压。2.关于接线:我圈起来的就是重点了,首先一个L298N直接将11V电压接入(先了解下L298N
2020-07-10 16:04:56 5364 9
图书管理系统设计以及论文(单链表)
2020-12-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人