RTT学习之BSP】的更多相关文章

---恢复内容开始--- 一 根据相近型号的demo BSP进行修改制作自己的BSP https://github.com/RT-Thread/rt-thread/blob/master/bsp/stm32/docs/STM32%E7%B3%BB%E5%88%97BSP%E5%88%B6%E4%BD%9C%E6%95%99%E7%A8%8B.md 项目 需要修改的内容说明 CubeMX_Config (文件夹) CubeMX 工程:芯片型号,时钟源,下载方式,使能串口外设(只需要,为何?),配置…
一 线程的创建和删除:rt_thread_create()创建的句柄,对应的删除rt_thread_delete(),注意线程的删除只是将线程的状态该为close,进入空闲任务才删除.rt_thread_init()函数对应的是rt_thread_detach()二 线程的就绪和挂起:RTT只能是讲一个已经就绪的线程挂起,而不能对已经挂起(调用系统延时函数)的任务再执行挂起操作用suspend! rt_thread_startup(taskn):使当前线程就绪:rt_err_t rt_threa…
总结RT-Thread的启动流程. 非运行时与运行时的image文件分别是什么样的,请画下来.是谁将 RW 段中的  RW-data(初始化的全局变量)搬运到 RAM 中? MDK环境下各种数据段存储的什么数据? 在RT-Thread启动时,关了中断,那么在什么时候开启的中断? 总结自动初始化原理. 总结BSP制作过程. 1.RT-Thread启动流程   这部分启动代码,大致可以分为四个部分: (1) 初始化与系统相关的硬件: (2) 初始化系统内核对象,例如定时器.调度器.信号: (3) 创…
SPI分为主.从.设备:具体又分标准SPI/DUAL SPI/QUAD SPI(用80字节的RAMrt_err_t rt_spi_take_bus(struct rt_spi_device *device);代替收发寄存器) 从设备的操作:在多线程通讯中,从机需要先获得SPI总线.CS使能:使用完后再分别释放,从而使其它获得控制权. rt_err_t rt_spi_take_bus(struct rt_spi_device *device); rt_err_t rt_spi_take(struc…
一互斥量:是信号量的一种,用于共享资源的排他性使用,以锁的形式存在,初始化时为可用,不能在中断中使用,可能导致优先级翻转. 二 事件:创建.删除.初始化.解绑.等待.发送.可以一对多多对的,发送一个事件,所有等待的都有效.可以进行逻辑“与”“或”,不能进行累加:而信号量可以累加但不能进行与或: 三 邮箱:创建.删除.初始化.解绑.发送.接收.用于线程间多数据的传递,类似管道,邮箱单次发送默认4字节(一个指针的大小),邮箱开销小比信号量和消息队列效率高.如果是数据,结构体可以采用以下方法 数组:邮…
网络工具集 (NetUtils) Ping 工具: 是一种网络诊断工具,用来测试数据包能否通过 IP 协议到达特定主机,依赖于LWIP,支持域名和IP访问: NTP 工具:NTP 是网络时间协议 (Network Time Protocol)用于通过网络对设备的RTC进行校时:设置时区和获取的URL地址.注意 NTP API 方法执行时会占用较多的线程堆栈,使用时保证堆栈空间充足(≥1.5K),不可重入,并发时注意加锁. TFTP (Trivial File Transfer Protocol,…
RTC: 目前系统内只允许存在一个 RTC 设备,且名称为 "rtc",所以不用查找设备 启用 Soft RTC (软件模拟 RTC),对无硬件RTC 启用 NTP 时间自动同步,需要NTP网络校时功能 FISH命名:设置:date 年 月 日 时 分 秒;读时间:date…
Sensor设备的常用操作: 首先查找传感器设置获取设备句柄.rt_device_find 以轮询.FIFO.中断.任意一种方式打开传感器,中断和FIFO需要设置接收回调函数(释放一个信号量给接收线程处理.).rt_device_open(dev, RT_DEVICE_FLAG_RDONLY) 连续读取 数据并打印出来.rt_size_t rt_device_read(rt_device_t dev, rt_off_t pos, void* buffer, rt_size_t size); 关闭…
一 使用步骤: 查找 PWM 设备获取设备句柄.rt_device_find() 设置 PWM 周期和脉冲宽度.rt_pwm_set(pwm_dev, PWM_DEV_CHANNEL, period, pulse); 使能 PWM 设备.rt_pwm_enable(pwm_dev, PWM_DEV_CHANNEL);//rt_pwm_disable(pwm_dev, PWM_DEV_CHANNEL); while 循环里每 50 毫秒修改一次脉冲宽度pulse的值,并通过rt_pwm_set设置…
一 线程间的同步与互斥:信号量.互斥量.实践集 线程互斥是指对于临界区资源访问的排它性,如多个线程对共享内存资源的访问,生产消费型对产品的操作.临界区操作操作方法有: rt_hw_interrupt_disable() / rt_enter_critical()进入临界区, rt_hw_interrupt_enable() / rt_exit_critical()退出临界区 信号量的创建:rt_sem_t rt_sem_create(const char *name,rt_uint32_t va…