- 博客(430)
- 资源 (21)
- 问答 (1)
- 收藏
- 关注
原创 keil5error: #147: declaration is incompatible with ..........
.\Rtthread\3.0.3\include\rthw.h(10): error: #147: declaration is incompatible with "extern void rt_hw_interrupt_disable(void)" (declared at line 95 of ".\Rtthread\3.0.3\include\rtthread.h") extern rt_base_t rt_hw_interrupt_disable(void);声明冲突,禁用中断函数的返...
2022-05-12 22:39:53 6100 1
原创 RTOS临界段的保护
一、概念临界保护:一段在执行的时候不能被中断的代码段。 打断临界保护操作:系统调度,外部中断。 临界保护的措施:把中断全部关闭。二、使用汇编开关中断2.1、关中断;rt_base_t_rt_hw_interrupt_disable();关闭中断函数;PROC 表示汇编子程序开始rt_hw_interrupt_disable PROC;EXPORT 导出标号rt_hw_interrupt_disable,使其具有全局属性,在外部头文件声明后,可以在C文件中调用EXPORT rt_
2022-05-12 06:47:39 545
原创 线程概念与双向链表粗略比划
一、线程简介在多线程系统中我们根据功能的不同,把系统分为一个个独立的且无法返回的函数。此函数称为线程。void DoSomeThing(void){// 线程主体无限循环,且无法返回while(1){// 线程主体代码}}二、线程的创建裸机系统中的全局变量,局部变量都存放在栈中。 栈:单片机 RAM 里面一段连续的内存空间,栈的大小一般在启动文件或者链接脚本里 面指定,最后由 C 库函数_main 进行初始化。...
2022-05-07 16:34:52 369
原创 裸机系统与多线程系统
一、简介裸机系统可分为轮询系统与前后台系统。1.1、轮询系统在裸机编程时,先初始化相关的硬件、而后让主程序在一个循环里不断的执行,依照顺序做各种事情。int main(void){// 相关硬件初始化while(1){// 处理的事情1// 处理的事情2// ...........// 处理的事情n}}优缺点:能很好按顺序的执行不需要外部事件来驱动的代码。 当有外部事件驱动,实时性大大降低。1.2、前后台系统在轮询系统的基础上加入中断,..
2022-05-02 01:47:23 690
原创 实时操作系统(RTOS)
一、简介RTOS(Real Time Operation System):实时操作系统。 国外:FreeRTOS、uC/OS、RTX。 国内:RT-Thread、Huawei LiteOS、AliOS-things。 版权:RT-Thread 版权属于上海睿赛德电子科技有限公司。二、创建工程目录新建RT-Thread文件在此文件下创建如下子文件:三、keil5创建工程3.1、把名为Template的keil工程保存在RT-Thread目录下。3.2、选择m3内核(stm3
2022-05-01 07:09:43 3772
原创 字、字节关系
字节:计量存储容量的一种单位,一般一字节等于8位。字:若干个字节构成,字的位数称为字长。字是计算器进行数据处理和运算的单位。一台8位机,它的1个字就等于一个字节,字长为8位。 一台16位机,它的1个字就等于两个字节,字长为16位。 一台32位机,它的1个字等于四个字节,字长位32位。stm32f105读一个字/* exact-width unsigned integer types */typedef unsigned char uint8_t;typedef un
2022-04-25 11:19:54 7149
原创 I2C总线
一、简介I2C(Inter-Integrated Circuit):内部集成电路。 由飞利浦公司开发的两线式穿行总线。 用于连接微控制器及其外围设备。 有两根双向信号线,数据线SDA,时钟线SCL。二、通讯协议物理层规定通讯系统中具有机械、电子功能部分的特性,确保原始数据在物理媒体的传输。协议层主要规定通讯逻辑, 统一收发双方的数据打包、解包标准。2.1、物理层支持多I2C设备通讯的总线,该总线由SCL总线(串行时钟总线)线路与SDA总线(串行数据总线)线路构成.
2022-04-12 11:07:54 2326 2
原创 keil 5配置
目录一、添加固件库二、系统生成的配置文件、.hex文件三、工程组文件路径与宏四、调试配置一、添加固件库二、系统生成的配置文件、.hex文件三、工程组文件路径与宏四、调试配置Reset and Run 选项中,如果勾上的话,当程序下载进去后自动复位运行...
2022-03-17 09:05:15 1698
原创 文秘系统 粗略比划
#include "public.h"/*实现: 1、文件的分割 2、文件的合并 3、计算文件的大小 4、主界面的选择组成: 主界面模块 文件分割模块 文件合并模块 计算文件大小模块*//*主函数部分*/int main(void){ unsigned int n; do { printf("\nplease choose you needful file:1.divide file 2....
2022-01-10 00:05:36 297
原创 用C语言创建文件并写入内容
一、概念须知1.1、相关库函数FILE *fopen(const char *filename, const char *mode) 使用给定的模式 mode 打开 filename 所指向的文件。1.1.1、打开指定文件的模式选择详见:二、创建一个.c文件,并写入Hello#include "public.h"#define ROOTint main(void){ FILE *fp; fp = fopen("test.c","w+"); // 创建名为t..
2022-01-06 23:45:39 38711 1
原创 万年历分析
一、输入年份,判断这一年时闰年还是平年#include "stdio.h"#include "public.h"#define BASE 2000/*要求:输入年份出这一年的日历参考:2000 1月1日 星期日*/// 结构体初始化void DataStructInit(void){ date.year = 0; date.month = 0; date.month_day=0; date.week = 0; date.day =
2021-12-09 22:37:59 406
原创 一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
#include "stdio.h"/*题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?程序分析:假设该数为 x。1、则:x + 100 = n2, x + 100 + 168 = m22、计算等式:m2 - n2 = (m + n)(m - n) = 1683、设置: m + n = i,m - n = j,i * j =168,i 和 j 至少一个是偶数4、可得: m = (i + j) / 2, n = (i - j) / 2,i ...
2021-12-01 07:59:14 687
转载 题目:企业发放的奖金根据利润提成。
题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%;高于100万元时,超过100万元的部分按1%提成。从键盘输入当月利润I,求应发放奖金总数#include "stdio.h"/*题目.
2021-12-01 00:01:22 488
原创 有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?
题目有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。#include "stdio.h"/*题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?并列出*/void main(void){ int a,b,c,sum=0; // 从0开始计数 打印换行的次数 for(a=1;a<5;a++){
2021-11-25 23:38:46 808
原创 Vscode 配置
目录一、查看配置c_cpp_properties.jsonlaunch.jsontasks.json参考:VSCode配置C语言环境(完整版)_ren648154292的博客-CSDN博客一、查看配置gcc -v -E -x c++ -C:\Users\Administrator>gcc -v -E -x c++ -Using built-in specs.COLLECT_GCC=gccTarget: x86_64-w64-mingw32Configure
2021-11-25 09:24:47 819
原创 vscode 配置
最近在找一款可以编辑c语言的编辑器,锁定了vscode的这个软件,这个配置我真是服了 ,找了好多教程没有适合的,到今天终于弄出来了,记录一下
2021-11-21 08:46:16 199
原创 Controller Area Network
一、CAN概述Controller Area Network(控制器局域网络):缩写为CAN。是ISO国际标准化的串行通信协议。CAN总线协议已经称为计算机控制系统和嵌入式工业局域网的标准总线。并且拥有以CAN为底层协议转为大型货车和重工机械车辆设计的J1939协议。CAN 通信只具有两根信号线,分别是 CAN_H 和 CAN_L,CAN 控制器根据这两根线上的电位差来判断总线电平。总线电平分为显性电平和隐性电平,二者必居其一。发送方通过使总线电平发生变化,将消息发送给接收方。二、CAN的特点
2021-11-04 01:17:29 1106
原创 Linux centos7终结篇
一、安装与登录命令1.1、loginLinux login命令用于登入系统。login指令让用户登入系统,通过它的功能随时更换登入身份。在Slackware发行版中 ,您可在指令后面附加欲登入的用户名称,它会直接询问密码,等待用户输入。当/etc目录里含名称为nologin的文件时,系统只root帐号登入系统,其他用户一律不准登入。[user@mysql_master ~]$ su root密码:[root@mysql_master user]# login userEnter(
2021-11-04 01:17:15 504
原创 stm32f10x中断分组 问题
一、可设置的中断分组// 中断分组NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);#define NVIC_PriorityGroup_0 ((uint32_t)0x700) /*!< 0 bits for pre-emption priority 4 bits for subpriority.
2021-11-04 01:00:13 444
原创 中断源的理解
一、中断源NVIC_InitTypeDef NVIC_InitStructure;NVIC_InitStructure.NVIC_IRQChannel = CAN2_RX0_IRQn; // 中断源#ifdef STM32F10X_CL ADC1_2_IRQn = 18, /*!< ADC1 and ADC2 global Interrupt */ CAN1_TX_IRQn
2021-11-04 00:28:27 1577
原创 stm32输入捕获
一、输入捕获简介STM32F1 除了基本定时器 TIM6 和 TIM7,其他定时器都具有输入捕 获功能。输入捕获可以对输入的信号的上升沿,下降沿或者双边沿进行捕获,通 常用于测量输入信号的脉宽、测量 PWM 输入信号的频率及占空比。在输入捕获模式下,当相应的 ICx 信号检 测到跳变沿后,将使用捕获/比较寄存器(TIMx_CCRx)来锁存计数器的值。TIMx_CHx (定时器的独立通道)通过检测 TIMx_CHx 上的边沿信号,在边沿信号发生跳变(比如上升沿/ 下降沿)的时候,将当前定时器
2021-11-04 00:25:05 1885
原创 stm32低功耗
一、概念默认情况下,系统复位或上电复位后,微控制器进入运行模式。 在运行模式 下,HCLK 为 CPU 提供时钟,并执行程序代码。 当 CPU 不需继续运行(例如等待 外部事件)时,可以利用多种低功耗模式来节省功耗。 用户需要根据最低电源消 耗、最快速启动时间和可用的唤醒源等条件,选定一个最佳的低功耗模式。1.1、运行模式下,降低低功耗的方法降低系统时钟速度 不使用 APBx 和 AHB 外设时,将对应的外设时钟关闭 睡眠模式(CM3 内核停止工作,外设仍在运行) 停止模式(所有
2021-11-02 00:31:52 312
原创 USART1串口通信2
#include "public.h"int fputc(int ch,FILE*p){ // Transmits single data through the USARTx peripheral. // 通过USARTx外围设备传输单个数据。 USART_SendData(USART1,(u8)ch); // Checks whether the specified USART flag is set or not.// 检查是否设置USART指定的标志 while(U.
2021-11-02 00:31:10 426
原创 2021-10-30
一、概念默认情况下,系统复位或上电复位后,微控制器进入运行模式。 在运行模式 下,HCLK 为 CPU 提供时钟,并执行程序代码。 当 CPU 不需继续运行(例如等待 外部事件)时,可以利用多种低功耗模式来节省功耗。 用户需要根据最低电源消 耗、最快速启动时间和可用的唤醒源等条件,选定一个最佳的低功耗模式。降低系统时钟速度。 不使用 APBx 和 AHB 外设时,将对应的外设时钟关闭。 睡眠模式(CM3 内核停止工作,外设仍在运行)。 停止模式(所有时钟都停止)。 待机模式(1.8V
2021-10-30 14:21:31 228
原创 USART串口通信
一、同步通信通信双方时钟一致。typedef struct { uint16_t USART_Clock; // 时钟使能控制 uint16_t USART_CPOL; // 时钟极性 uint16_t USART_CPHA; // 时钟相位 uint16_t USART_LastBit; // 最尾位时钟脉冲 } USART_ClockInitTypeDef;二、异步通信需要约定通信双方的的通信波特率。void UART1Config( uint32_t bound){
2021-10-29 01:05:45 1751
原创 GPIO引脚的输入输出模式
{ GPIO_Mode_AIN = 0x0, 模拟输入 ADC采集的通道GPIO_Mode_IN_FLOATING = 0x04, 浮空输入 电平状态不确定GPIO_Mode_IPD = 0x28, 下拉输入 低电平GPIO_Mode_IPU = 0x48, 上拉输入 高电平GPIO_Mode_Out_OD = 0x14, 开漏输出 低电平GPIO_Mode_Out_PP = 0x10, 推挽输出 高电平GPIO_Mode_AF_OD = 0x1C, 复用开漏输出 低电平。
2021-10-20 16:41:47 7807 1
原创 定时器理解
一、定时器分类1.1、通用定时器TIM2~TIM5是一个向上/向下计数的定时器。功能:可以定时、输出比较、输入捕捉、每个定时器有四个外部IO。1.2、基本定时器TIM6、TIM7 是一个16位的只能向上计数的定时器,没有外部IO口只能定时。1.3、高级定时器TIM1和TIM816位向上/向下计数的定时器功能:输出比较、输入捕捉、三相电机互补输出信号、每个定时器有8个外部IO二、定时器相关概念2.1、内部时钟定时器时钟:TIMxCLK内部时钟:INT..
2021-10-13 00:33:20 2241
原创 嵌入式相关的一些网站 积累
一、华秋商城芯片选型及一些元器件选购的一个网站。二、立创商城芯片选型及一些元器件选购的一个网站。三、PaneLook屏库屏幕选型的一个网站。四、传球电池网电池选够的一个网站。五、资讯相关的网站36K六、资源社区RT-THreadShardinngSphereApache ShardingSphere 是一套开源的分布式数据库解决方案组成的生态圈,它由 JDBC、Proxy 和 Sidecar(规划中)这 3 款既能够独立部署,又支持混合部署配合..
2021-10-02 12:53:37 254
原创 stm32f10x 中断分组
一、中断优先级分组 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);#define NVIC_PriorityGroup_0 ((uint32_t)0x700) /*!< 0 bits for pre-emption priority 4 bits for subpriority */#define NV
2021-09-23 19:50:05 266
原创 CAN编码
#include "public.h"// CAN初始化// tsjw:重新同步跳跃时间单元,范围:CAN_SJW_1tq~ CAN_SJW_4tq// tbs2:时间段2的时间单元,范围:CAN_BS2_1tq~CAN_BS2_8tq;// tbs1:时间段1的时间单元,范围:CAN_BS1_1tq ~CAN_BS1_16tq// brp波特率分屏器:范围:1~1024 tq = (brp)* tpclk1//波特率=Fpclk1/((tbs1+tbs2+1)...
2021-08-25 15:39:48 839
原创 串口通信的标志位
#define USART_FLAG_CTS ((uint16_t)0x0200)#define USART_FLAG_LBD ((uint16_t)0x0100)#define USART_FLAG_TXE ((uint16_t)0x0080)#define USART_FLAG_TC ((uint16_t)0x0040)...
2021-08-25 15:38:41 2218
原创 KIEL编译程序中的KEIL与ERROR
一、警告#260-D..\source\uart.c(17): warning: #260-D: explicit type is missing ("int" assumed)_sys_exit(int x) 修改后void _sys_exit(int x)二、warning: #940-D..\source\uart.c(221): warning: #940-D: missing return statement at end of non-void functio...
2021-06-30 09:41:16 773
原创 keil编译报错集录
一、没有导入库函数导致的警告Error:L6216E:Undefined symbol UART3(refered from uart3.0) 错误:L6216E:未定义符号UART3(来自uart3.0) Not enough information to list image symblos 没有足够的信息来列出图像符号 Not enough information to list load addre...
2021-06-11 11:31:44 10778 2
原创 时钟结构体
/** * @brief Checks whether the specified RCC flag is set or not. * @param RCC_FLAG: specifies the flag to check. * * For @b STM32_Connectivity_line_devices, this parameter can be one of the * following values: * @arg RCC_FLAG_...
2021-05-24 16:13:23 323
原创 CAN通信
一、CAN总线简介1.1、概述CAN是Controller Area Network的缩写(以下称为CAN),译为控制器区域网。是ISO国际标准化的串行通信协议。1986年德国电气商博世公司开发出面向汽车的CAN通信协议。CAN通过ISO11898及ISO11519进行了标准化。CAN是国际上引用最广泛的现场总线之一。它的出现为分布式控制系统实现各节点之间实时、可靠的数据通信提供了强有力的技术支持。CAN通信具有两根信号线,分别是CAN_H和CAN_L,CAN控制器根据这两根线上的电
2021-05-24 16:12:50 3911
原创 CAN的过滤寄存器
一、结构体函数与寄存器typedef struct{ uint16_t CAN_FilterIdHigh; /*!< Specifies the filter identification number (MSBs for a 32-bitconfiguration, first one for a 16-bit configuration).This parameter can be a value between 0x0000 and 0xFFFF */ ...
2021-05-24 16:12:17 1196 2
原创 CAN通信涉及的结构体与方法
CAN发送消息结构体typedef struct{ uint32_t StdId; /*!< Specifies the standard identifier.This parameter can be a value between 0 to 0x7FF. */ 指定标准标识符。取值范围为0 ~ 0x7FF。 uint32_t ExtId; /*!< Specifies the extended...
2021-05-20 18:00:11 3608 1
原创 ARM armcc specific functions ARM 汇编指令功能
/* ################### Compiler specific Intrinsics ########################### */ 这些编译器的具体特性#if defined ( __CC_ARM ) /*------------------RealView Compiler -----------------*/ /* ARM armcc specific functions */ ARM 编译器特有功能#...
2021-05-17 10:13:47 723
stm32f042f6p6LED灯闪烁+芯片资料+固件库+stlink驱动包+串口调试工具
2022-08-21
fiddler抓包工具.zip
2019-07-02
建设工程监管信息系统报建申请模块.zip
2019-06-24
JavaAPI1.zip
2019-06-23
最新连接池jar.zip
2019-06-22
BeanUtil组件核心包.zip
2019-06-07
报错socket closed
2022-09-16
android studio 打开官方提供的方法,为啥文件里全是错误?
2022-09-12
mysql用这写代码创建数据库 报错 是不能这样创建数据库还是语法问题?
2019-05-30
TA创建的收藏夹 TA关注的收藏夹
TA关注的人