摘要: 阻塞 如果一个任务当前正在等待某个外部事件的话就说它处于阻塞态, 比如说如果某个任务调用了函数 vTaskDelay()的话就会进入阻塞态, 直到延时周期完成。任务在等待队列、信号量、事件组、通知或互斥信号量的时候也会进入阻塞态。任务进入阻塞态会有一个超时时间,当超过这个超时时间任务就会退出阻塞态, 阅读全文
posted @ 2021-03-04 00:36 昆山皮皮虾 阅读(1229) 评论(0) 推荐(0) 编辑
摘要: UART1中断 1 extern SemaphoreHandle_t BinarySemaphore; //二值信号量句柄 2 void USART1_IRQHandler(void) //串口 1 中断服务程序 3 { 4 u8 Res; 5 BaseType_t xHigherPriorityT 阅读全文
posted @ 2021-03-03 05:33 昆山皮皮虾 阅读(398) 评论(0) 推荐(0) 编辑
摘要: uart_init() 1 void uart_init(u32 bound) 2 { 3 //GPIO 端口设置 4 GPIO_InitTypeDef GPIO_InitStructure; 5 USART_InitTypeDef USART_InitStructure; 6 NVIC_InitT 阅读全文
posted @ 2021-03-03 01:54 昆山皮皮虾 阅读(710) 评论(0) 推荐(0) 编辑
摘要: 一、LDR、LDRB、LDRH、STR、STRB、STRH https://blog.csdn.net/zhangj95/article/details/80984815 阅读全文
posted @ 2021-02-13 20:22 昆山皮皮虾 阅读(56) 评论(0) 推荐(0) 编辑
摘要: 恩智浦官方SDK中的裸机I2C驱动中所有函数列出如下,共计32个,其中主机相关函数17个,从机相关函数12个,剩余3个为使能和失能interrupt和I2C block(I2C_Enable实际也有失能I2C block的功能)。 1.I2C_DisableInterrupts 如下,我认为改写版本 阅读全文
posted @ 2021-01-20 20:11 昆山皮皮虾 阅读(433) 评论(0) 推荐(0) 编辑
摘要: 尽量保持原文,但为了让摘要更简洁,个人做了小小的更改。 1.10-bit addressing allows 1024 additional slave addresses. 2.The High-speed mode allows an increase in the bit rate up to 阅读全文
posted @ 2021-01-19 08:53 昆山皮皮虾 阅读(277) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2021-01-18 16:40 昆山皮皮虾 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 源码如下。 个人总结: 1.I2DR寄存器的读 I2DR寄存器的读操作如下,它与while(size--)中的size无联系,让我一开始觉得I2DR里面的数据就是不变的嘛! *buf++ = base->I2DR;//I2C读数据 后来我查看了I.MX6ULL里面这样描述I2C的I2DR寄存器:“r 阅读全文
posted @ 2021-01-18 05:50 昆山皮皮虾 阅读(193) 评论(0) 推荐(0) 编辑
摘要: while(--i)和我们正常逻辑一样的:i=0,跳出循环。 while(i--)就比较特殊了,它在i=0的时候依旧执行一次,可以推测出来: 最后一次while是用的i=1这个条件来进行判断,然后再减一,使得i=0。也即 i-- 为“先引用再减一” 阅读全文
posted @ 2021-01-18 05:07 昆山皮皮虾 阅读(223) 评论(0) 推荐(0) 编辑
摘要: i2c_master_transfer函数,原作者左钟凯。可以借鉴一下。 1 /* 2 * @description : I2C数据传输,包括读和写 3 * @param - base: 要使用的IIC 4 * @param - xfer: 传输结构体 5 * @return : 传输结果,0 成功 阅读全文
posted @ 2021-01-17 16:03 昆山皮皮虾 阅读(594) 评论(0) 推荐(0) 编辑