ML307A_OPEN" frameborder="0" scrolling="auto" width="100%" height="1500">
提示:
用户可以根据文档说明把文档中的代码拷贝到自己的工程里面运行测试...再补充一点,其实操作系统也还是一个程序,这个程序为了避免被硬延时影响处理任务切换,一般都是放到系统中断定时器里面执行
ML307内部设置了定时器时间是5ms进一次中断,所以任务的延时最低是5ms, osDelay...(1); 实际上延时是5ms
2,关于任务栈设置大小(一般不需要设置,了解就可以, 除非真的内存不足了)
一般在任务运行的时候,可以使用下面的函数获取到使用的栈大小(这个获取的是剩余的)
cm_log_printf...但是如果仅仅是一个任务设置一个变量为一个值以后,另一个任务才继续执行,是可以的
2,如果是传输数据一般使用 Queue, 简单的测试样例百度下, 我下面是直接封装的标准用法
下面是把printf要打印的数据放到任务提供的队列里面...:
我使用单片机做TCP服务器, 客户端连接的时候需要限制下连接个数; 我这边是首先创建了一个初始化只有5个的信号量
每次客户端连接的时候就会使用掉一个信号量, 当然如果检测到客户端断开就还回去一个信号量