2020年,一个特殊的年份,想法很多,事情也很多,为了有条不紊的进行,同时给予自己一个反省,思考的契机。
当然啦,我又不是什么神人,一天的积累也没法有什么实质性的感悟或者改变,所以一天一天的写,怕是会把你们的眼睛看累了。
我打算在每一周都走一次总结,每一次总结都是我这一周每天的积累。
(每周日更新!谢谢!)
在这里,我主要写的是两方面的事情:
3/24日
这一周的身体基本算是恢复正常,我觉得学习的时长得到了保证,但是学习的效率十分低下。
这里我寻找了学习效率低下的原因:
每当我学习的时候,只要有外在因素影响,我就容易走神,之后,老是会跑题,去刷B站,或者做其他事情,回过神来,估计过了差不多15分钟了,然后在回来学习,又得重新整理思路,所以这种走神是学习效率的罪魁祸首。
外在因素:
学校群里的事:
家里隔音不好:
家里人在刷剧:
为了减少走神,提高学习效率,因此制定新的学习方式。
不能想要一件事就做一件事情
你要先思考:当下必须要做的事情,不然,你只会是一只丢西瓜的猴子;
解决方法: 先记录下来:然后在思考事件的可行性;再对事情进行合理规划;最后实施保证完成每一步的规划;
只有这样才能让自己的想法得到实现,也不会浪费自己脑海中的金点子。
来一句:今天没有任务
Today is no mission; 大错特错
No mission today ;√
1.把所有的状语放到后面
2.没有主语,就把谓语去掉编程省略句
3.歪果仁也能听懂啦
I don't have a mission today;
在进行串口通信的时候,收发数据的格式要弄清楚,不然通信基本难以成功;
*1、%d表示按整型数据的实际长度输出数据。
*2、%c用来输出一个字符。
*3、%s用来输出一个字符串。
*4、%x表示以十六进制数形式输出整数。
我觉得:
对于一个刚刚入门的软件工程师来说,阅读代码或者阅读编程的书籍是进步比较快的,什么进步最快,那当然是有人手把手,一对一指导,不过一般没有,即使是培训机构也是不是真正意义上的手把手教学。
那么怎么阅读代码呢?
因为我是单片机的软件工程师,所以我把我自己的经验跟大家分享一下:
一.先看看main函数,理清main函数里的逻辑。
下面展示一些 内联代码片
。
int main(void)
{
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
/* MCU Configuration----------------------------------------------------------*/
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
/* USER CODE BEGIN Init */
/* USER CODE END Init */
/* Configure the system clock */
SystemClock_Config();
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_TIM2_Init();
MX_USART1_UART_Init();
MX_USART2_UART_Init();
/* Initialize interrupts */
MX_NVIC_Init();
/* USER CODE BEGIN 2 */
timerInit();//
uartInit();//
userInit();
gizwitsInit();
keyInit();
GIZWITS_LOG("MCU Init Success \n");
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
userHandle();
gizwitsHandle((dataPoint_t *)¤tDataPoint);
}
/* USER CODE END 3 */
}
1.hal库初始化
2.系统时钟的配置
3.GPIO口的初始化
4.TIM2定时器
5.串口1的初始化 115200
6.串口2的初始化 9600
7.优先级的函数定义
8.定时器初始化 -给机智云1ms定时
9. 机 智云串口与串口2 相接
10.清空数据缓存区
11.机智云初始化,记录日志
12.按键初始化(按键定义)??
13.输出初始话成功
14.用户操作??
15.机智云操作
以上也就是我根据这个程序写的逻辑顺序,然后你可以把他注释到代码旁边,这样子下次看的时候就可以很清楚的知道这个程序的逻辑是怎么样子的,以后要进行相应的开发就可以按照这个逻辑来。
这个是一个机智云的物联网的例程,我是用它来进行机智云的物联网项目开发,最后根据这个逻辑,写出了自己的程序。
不过很惨,用时比较多,坑就坑在他的堆栈大小还要更改;
我的程序这里默认是0x00000400
因为这里错误,我思考了两天时间
注意:这里理清逻辑有个好处,就是有时候程序逻辑对了,那么可能其他错误,你要从配置入手,别老是纠结代码了!!!
都看到这里了,点个赞吧!
如果有其他的问题可以评论区指出,有问必答,知无不言。
如果有所收获,不妨点个赞或者关注一下,消息第一时间通知!