不带缓冲的信号量编程,如何使用ucosii信号量 程序

1 , 如何使用ucosii信号量 程序找到适合你的arm板的编译器(常用的有ADS、Keil for arm(也就是keil MDK)、IAR等),将uc/os源码进行编译,前提是这里的源代码已经经过移植,可以在你的arm上运行 , 也就是us/os官方所谓的“port” 。然后 , 一般通过jlink或Ulink下载到电路板
2,c信号量signal你可以查看《unix网络编程》这本书,回调函数里面传送过去的确实是信号量,这个信号量就是你使用signal注册的的时候触发的信号,这个信号一旦触发就会去执行相应的回调函数 。if(null == (hsemaphore = opensemaphore(semaphore_modify_state , false, strsemaphorename)))printf("打开信号量对象失败  ,  错误id:%u\n", getlasterror());return; }这几行删掉,你已经在主线程create一个信号量了,就不需要重复open了,建议仔细看看msdn 。
3 , 如何用java实现信号量package synchronization;public class Semaphore private int value;public Semaphore()this.value = http://www.lisdn.com/mnsj/hhjy/0;}public Semaphore(int v)this.value = v;}public synchronized void down()while(value <= 0 )trywait();} catch (InterruptedException e) e.printStackTrace();}}value--;}public synchronized void up()value++;notify();}}使用的时候Semophore s;while(true)s.wait();//临界区s.signal();}.....【不带缓冲的信号量编程,如何使用ucosii信号量 程序】

    推荐阅读