自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 收藏
  • 关注

原创 030定时器容易卡住问题

if((key_press_continuous_cnt %(1000/basems))==0 &&key_long_lock==0) //长按事件。//sys_time;KEY_PRESS_TRIPLE, //三连击。KEY_PRESS_FOUR, //四击。KEY_PRESS_FIVE, //五击。KEY_PRESS_SINGLE, //单机。

2025-11-13 09:00:00 796

原创 RGB三色呼吸灯 跑马

{GPIO_PIN_2,GPIO_PIN_0, GPIO_PIN_1, }, // 灯1引脚 R G B。

2025-09-28 20:54:26 836

原创 质数判断 查表法和计算法结合提高效率 (不能因式分解)

i += 2) { // 跳过偶数。i += 6) { // 从5开始,步长为6。// 0-100(25个)//901-1000(14个)//101-200(21个)//201-300(16个)//301-400(16个)//401-500(17个)//501-600(14个)

2025-09-28 16:31:25 898

原创 哈希表 键值对查表

/ 等价于 (hash<<5)+hash。// 手动释放哈希表。// 手动定义哈希表节点结构。// 手动初始化数组。// 手动定义哈希表结构。// C语言风格哈希表。// 手动实现哈希函数。// 手动实现初始化。

2025-09-28 16:29:30 406

原创 systick 24位自减 精确延时

【代码】systick 24位自减 精确延时。

2025-09-26 15:04:06 109

原创 &清零某些位 | (置位)^取反,小数转分数

define is_power_of_two(x) ((x>=1)&& x&(x-1)==0) //2得幂 power(2,x) 0x02/0x4/0x8/16/32/64/128/256。} //交换变量 利用a^a=0;#define is_odd(x) (x&1==1) //奇数末尾位1 //奇偶。} // 特殊情况处理:小数部分为0。

2025-09-01 20:54:14 188

原创 pycharm python pyqt5

dict_str = str(self.Com_Dict[self.s1__box_2.currentText()]) # 获取串口信息转换字符串。Vout_TempEdit_set = int(self.lineEdit_TempEdit_set.text()) # 设置输出温度校正。Vout_Temp_set = int(self.lineEdit_Temp_set.text()) # 设置输出温度。# self.data_text_clear() # 调用清理函数。

2025-01-16 15:46:46 1183

原创 上位机通讯 结构体发送和解析

所以只需要在includes中加末尾#pragmapack(),注意协议双方都需要取消字节对齐。#pragmapack()//取消结构体对齐。//按1字节进行对齐即:不行进行对齐。

2025-01-14 18:47:06 265

原创 替代开方运算sqrt

{ //整数开方 >牛顿叠代 POW(N,2)==M N=M^0.5;8位mcu 开方 math.h 容易超空间;{ //sqrtf ROM空间不够!

2025-01-02 16:09:40 404

原创 jpeg 压缩算法1

【代码】jpeg 压缩算法1。

2024-12-30 20:22:28 178

原创 rtx cpu使用率

/0~100for (;;) {you may////#endif#endif#endif#endif#endif#endif#endif#endif// #endif//#endif。

2024-08-26 21:21:57 671

原创 arm利用systick 微妙精确us延时

if(nus<0x55555555) //nus<0x5555 5555 0xFFFFFFFF/3 14.3亿。// SYSTICK是一个递减的计数器。//时间超过/等于要延迟的时间,则退出.// delay_osSchedLock();// 阻止OS调度,防止打断us延时。// 刚进入时的计数器值。* 形 参: x,延时时间,不精确。

2024-08-26 17:33:54 503

原创 51内核多线程,os任务调度

define OS_TASK_STACK_SIZE (2+13+2*3)//存放断点2B,中断函数可能压栈13B,子程序每嵌套一层2B。//os_delay()结束后跳转os_idle()if(os_task[i].delay==0)//如果有任务延时时间到,则跳转至相应任务。#define data //c51栈要放在dataq区~data/idada/pdata/xdata。//私有堆栈指针指向私有堆栈。

2024-08-19 15:03:10 743

原创 双向冒泡法,可以只求最大最小值

运行一次获取最大最小值。

2024-05-05 13:17:30 427

原创 插入法(直接/二分/希尔)

【代码】稳定排序 双向冒泡 法, 有序数组二分插入法,

2024-05-05 12:53:42 312

原创 io口扫描数码管驱动,无锁存器,扫描带呼吸灯

【代码】数码管驱动。

2024-04-28 19:34:47 340

原创 pwm 输出

/att // 时钟频率:Ftime3 = 48M/(time_divide + 1)/PWM_PERIOD = 48M/(47+1) = 1000khz。//att // 时钟频率:Ftime3 = 48M/(time_divide + 1)/PWM_PERIOD = 48M/(95+1) = 500。//att // 时钟频率:Ftime3 = 48M/(time_divide + 1)/PWM_PERIOD = 48M/(1+1) = 24000khz。//att //PWM周期 = 4ms。

2024-04-02 15:18:15 522 2

原创 * JLink Info: T-bit of XPSR is 0 but should be 1. Changed to 1.

* JLink Info: T-bit of XPSR is 0 but should be 1. Changed to 1.

2024-03-12 14:10:56 813

原创 RTC wake sotp

/增加避免 复位脚引起初始化不通过!

2024-01-11 13:40:05 1030

原创 DMA SPI/EXMC 刷屏

dma_flag_get(DMA0,DMA_CH1, DMA_FLAG_FTF) ) //卡死?while(len>0)//len%50000)//分包 //bug?

2024-01-11 13:38:11 690

原创 gd32 EXMC 初始化

void exmc_lcd_init(void){ exmc_norsram_parameter_struct lcd_init_struct; exmc_norsram_timing_parameter_struct lcd_timing_init_struct; /* EXMC clock enable */ rcu_periph_clock_enable(RCU_EXMC); /* GPIO clock enable */ rcu_periph_clock

2023-12-27 18:32:44 960

原创 gd32 exmc 连接 mcu 8080TFT 驱动(8pin/16pin)ST7789,40帧每秒240*320;

define LCD_WR_DATA(value) ((*(__IO uint16_t*)(BANK0_LCD_D)) = ((uint16_t)(value))) //写数据寄存器 16根数据线。#define LCD_WR_DATA(value) ((*(__IO uint8_t*)(BANK0_LCD_D)) = ((uint8_t)(value))) //写数据寄存器 8根数据线。

2023-12-27 18:30:31 2328

原创 lcd或数码管 显示浮点数 3.1415926

uint8_t floar2Str(float fnum,uint8_t floatNum,uint8_t *out,uint8_t out_len)//浮点转字符串。浮点数字符串 sprintf(buffer,"%-10.5f",fnum);out_len: 输出字符串buffer长度。*out : 输出字符串buffer。floatNum: 要显示的小数点数量。入口数据:fnum:浮点数。

2023-12-26 16:37:04 927

原创 keil5(MDK)黑色背景色风格

1、常规的改法:在MDK菜单栏中选择 编辑->配置->Color & Fonts,如下界面:可以在以上界面配置对应的选项更改代码编辑区数字(number)、关键字(keyword)、字符串(string)等的颜色。最终设置的结果会保存在MDK的安装位置的UV4文件夹下名为global.prop的文件中。2、如果想省事,可以直接找现成的配置文件来直接替换C:\Keil_v5\UV4\global.prop文件夹下的global.prop文件,可以用记事本打开该文件,复制下面我的

2023-12-22 11:00:03 6188 2

原创 小数转分数

MessageBox.Show(err.ToString(), "系统提示");//最大公约数 fraction。

2023-12-18 16:34:55 433

原创 C语言实现BMP图像处理(任意角度旋转)

printf("请输入需要旋转的角度: ");printf("文件打开失败\n");

2023-12-16 14:59:16 1323

原创 低功耗RTC 定时器唤醒stop模式,

/仅保留秒秒闹钟, RTC_AlarmMask_Seconds=RTC_AlarmMask_All-(RTC_AlarmMask_Minutes+RTC_AlarmMask_Hours+RTC_AlarmMask_DateWeekDay)////1秒后唤醒 RTC_IRQHandler~RTC_TimeStruct.RTC_Seconds = 0;

2023-11-29 10:50:09 1485

原创 jlink RTT 替代串口及JLINK_SCOPE示波器详细使用教程

项目中使用printf的地方非常多,如果可以直接修改printf重定向到RTT组件,则会非常方便。

2023-11-17 17:08:01 1031

原创 背景护眼设置RGB()

护眼色的rgb值需要根据使用环境选择,因为护眼色有绿豆沙、银河白、杏仁黄、秋叶褐、胭脂红、海天蓝、葛巾紫、极光灰、青草绿等色彩,常用护眼色为绿豆沙,具体RGB值为199, 237, 204。1、绿豆沙RGB值(199, 237, 204)2、银河白RGB值(255, 255, 255)4、秋叶褐RGB值(255, 242, 226)6、海天蓝RGB值(220, 226, 241)8、极光灰RGB值(234, 234, 239)9、青草绿RGB值(227, 237, 205)

2023-11-08 09:56:55 4879

原创 断码led驱动

7个最多点亮42个,8pin对应56led,9pin~72个灯;//当 I/O 从输出转换为输入时,要等待几个指令周期的时间,以便 I/O 口状态稳定。K1,K2,K3,K4,K5,K6,NC,//其他指示比如充电符号,功能挡位。A1,B1,C1,D1,E1,F1,G1,//数码管1。A2,B2,C2,D2,E2,F2,G2,//数码管2。A3,B3,C3,D3,E3,F3,G3,//数码管3。A4,B4,C4,D4,E4,F4,G4,//数码管4。G1,G2,G3,G4,G5,G6,NC,//电池电量。

2023-11-06 09:32:23 284

原创 在线电路仿真软件 带多路示波器,信号源

https://www.falstad.com/circuit/circuitjs.html

2023-11-02 13:38:00 1977

原创 USB serialport 热插拔;

string getPullOutSerialPort(string[] portNames, string[] portNameNew) { int i = 0; //string[] portNameNew = SerialPort.GetPortNames(); //if (portNames.Equals(portNameNew)) if (portNameNew.Length >= por

2023-10-30 19:42:23 257

原创 C#winform 窗体缩放自适应,不用类库更简洁

if ((item as UserControl) == null && item.Controls.Count > 0)//如果不是自定义控件。//计算控件宽度,double类型。//添加信息:键值:控件名,内容:据左边距离,距顶部距离,控件宽度,控件高度,控件字体。= "")//如果控件名不是空,则执行。

2023-10-24 11:33:27 2596

原创 浮点数和16进制数组 互转

private void button1_Click(object sender, EventArgs e) { try { float temp = (float)Convert.ToSingle(textB_float.Text); byte[] data = BitConverter.GetBytes(temp); textB_bytes.Te

2023-10-23 19:19:45 162

原创 pictureBox/text. 等控件位置 Location=new Point(x,y),不能单独修改Control.Location.x或Control.Location.y,无法编译

程序集:获取或设置该控件的左上角相对于其容器的左上角的坐标。C#复制set;

2023-10-23 19:04:36 277

原创 C C++ C# 优先级 &

3、双目运算符,,算术运算符优先级最高,移位运算符(、大于等于运算符>=、小于运算符

2023-10-14 10:26:36 1983

原创 快排(非递归),双向冒泡减少数据移动,遍历一遍最大最小值归位,效率加倍

int main()\n{ //测试数据\n int arr_test[Max_] = {8, 4, 2, 3, 5, 1, 6, 9, 0, 7, 49};\n //排序前数组序列\n Show(arr_test, Max_);\n //排序后数组序列\n Show(arr_test, Max_);// if (array[i] < array[i - 1]) //找到剩下中最小的\n //Swap(&array[i], &array[i - 1]);C源码:\n//*双向冒泡排序*/

2023-10-13 07:20:51 81

原创 hardfault 定位,重新初始化串口再打印LR,SP

hardfault 中传递LR PC 到 函数中打印, uart的初始化 必不可少!LR 值就是出错的函数地址!

2023-10-10 17:28:40 330

原创 mcu定时器模拟os的时间片任务管理

if(p_task->sta==task_state_pause && p_task->TaskBeat > p_task->TaskInterval) //任务节拍大于上次节拍。if(p_task->sta==task_state_run && p_task->TaskBeat > p_task->TaskInterval) //任务节拍大于上次节拍。

2023-10-09 19:32:09 193

原创 STM32F072/FMD32F03x dma中断方式串口发射和接收高速 115200代码

/接收完成,一般不开启次中断,用uart_idle中断。/**串口接收函数,如果接收的数据大于 len 将会发生溢出中断 将在中断中关闭接收通道 需重新使能***//*****串口发送函数 len需等于发送数据大小*****/

2023-10-09 19:23:56 253

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除