- 博客(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
原创 质数判断 查表法和计算法结合提高效率 (不能因式分解)
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
原创 &清零某些位 | (置位)^取反,小数转分数
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
原创 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
原创 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
原创 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
原创 低功耗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
原创 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
原创 快排(非递归),双向冒泡减少数据移动,遍历一遍最大最小值归位,效率加倍
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关注的人
RSS订阅