本文整理汇总了C++中PIO_Set函数的典型用法代码示例。如果您正苦于以下问题:C++ PIO_Set函数的具体用法?C++ PIO_Set怎么用?C++ PIO_Set使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了PIO_Set函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: motors_init
void motors_init()
{
PIO_Configure(&pin_m0_en, 1);
PIO_Configure(&pin_m1_en, 1);
PIO_Configure(&pin_m2_en, 1);
PIO_Configure(&pin_m_brake, 1);
PIO_Configure(&pin_m0_dir, 1);
PIO_Configure(&pin_m1_dir, 1);
PIO_Configure(&pin_m2_dir, 1);
PMC_EnablePeripheral(ID_PWM); // power up pwm controller plz
PIO_Configure(&pin_m0_vref, 1); // PWML0
PIO_Configure(&pin_m1_vref, 1); // PWMH1
PIO_Configure(&pin_m2_vref, 1); // PWMH3
PWM->PWM_CH_NUM[0].PWM_CMR = 0; // pass-through divider. 64 MHz clock.
PWM->PWM_CH_NUM[0].PWM_CPRD = 255; // 8-bit current control, 125 kHz cycle
PWM->PWM_CH_NUM[0].PWM_CDTY = 0; // zero duty for now
PWM->PWM_CH_NUM[1].PWM_CMR = 0;
PWM->PWM_CH_NUM[1].PWM_CPRD = 255;
PWM->PWM_CH_NUM[1].PWM_CDTY = 255;
PWM->PWM_CH_NUM[3].PWM_CMR = 0;
PWM->PWM_CH_NUM[3].PWM_CPRD = 255;
PWM->PWM_CH_NUM[3].PWM_CDTY = 255;
PWM->PWM_ENA = 0xb; // enable channels 0,1,3
PIO_Set(&pin_m_brake);
PIO_Set(&pin_m0_en);
PIO_Set(&pin_m1_en);
PIO_Set(&pin_m2_en);
}
示例2: LCDD_SetBacklight
//------------------------------------------------------------------------------
/// Set the backlight of the LCD.
/// \param level Backlight brightness level [1..32], 32 is maximum level.
//------------------------------------------------------------------------------
void LCDD_SetBacklight (unsigned int level)
{
unsigned int i;
const Pin pPins[] = {BOARD_BACKLIGHT_PIN};
// Enable pins
PIO_Configure(pPins, PIO_LISTSIZE(pPins));
// Switch off backlight
PIO_Clear(pPins);
i = 600 * (BOARD_MCK / 1000000); // wait for at least 500us
while(i--);
// Set new backlight level
for (i = 0; i < level; i++) {
PIO_Clear(pPins);
PIO_Clear(pPins);
PIO_Clear(pPins);
PIO_Set(pPins);
PIO_Set(pPins);
PIO_Set(pPins);
// PIO_Clear(pPins);
// PIO_Clear(pPins);
// PIO_Clear(pPins);
}
// PIO_Set(pPins);
}
示例3: LCDD_SetBacklight
/**
* \brief Set the backlight of the LCD.
*
* \param level Backlight brightness level [1..16], 1 means maximum brightness.
*/
void LCDD_SetBacklight (uint32_t level)
{
uint32_t i;
const Pin pPins[] = {BOARD_BACKLIGHT_PIN};
/* Ensure valid level */
level = (level < 1) ? 1 : level;
level = (level > 16) ? 16 : level;
/* Enable pins */
PIO_Configure(pPins, PIO_LISTSIZE(pPins));
/* Switch off backlight */
PIO_Clear(pPins);
i = 600 * (BOARD_MCK / 1000000); /* wait for at least 500us */
while(i--);
/* Set new backlight level */
for (i = 0; i < level; i++) {
PIO_Clear(pPins);
PIO_Clear(pPins);
PIO_Clear(pPins);
PIO_Set(pPins);
PIO_Set(pPins);
PIO_Set(pPins);
}
}
示例4: vMBPortSerialEnable
void
vMBPortSerialEnable( BOOL xRxEnable, BOOL xTxEnable )
{
if( xRxEnable )
{
USART_SetReceiverEnabled( xUSARTHWMappings[ucUsedPort].pUsart, 1 );
USART_EnableIt( xUSARTHWMappings[ucUsedPort].pUsart, US_IDR_RXRDY );
}
else
{
USART_DisableIt( xUSARTHWMappings[ucUsedPort].pUsart, US_IDR_RXRDY );
USART_SetReceiverEnabled( xUSARTHWMappings[ucUsedPort].pUsart, 0 );
}
if( xTxEnable )
{
if( NULL != xUSARTHWMappings[ucUsedPort].USARTNotREPin )
{
PIO_Set( xUSARTHWMappings[ucUsedPort].USARTNotREPin );
}
if( NULL != xUSARTHWMappings[ucUsedPort].USARTDEPin )
{
PIO_Set( xUSARTHWMappings[ucUsedPort].USARTDEPin );
}
USART_SetTransmitterEnabled( xUSARTHWMappings[ucUsedPort].pUsart, 1 );
USART_EnableIt( xUSARTHWMappings[ucUsedPort].pUsart, US_IER_TXRDY );
USART_DisableIt( xUSARTHWMappings[ucUsedPort].pUsart, US_IER_TXEMPTY );
}
else
{
USART_DisableIt( xUSARTHWMappings[ucUsedPort].pUsart, US_IDR_TXRDY );
USART_EnableIt( xUSARTHWMappings[ucUsedPort].pUsart, US_IER_TXEMPTY );
}
}
示例5: motor_enaxis
void motor_enaxis(unsigned char axis, unsigned char en){
switch(axis){
case(0):
if(!en)
PIO_Set(&XEN);
else
PIO_Clear(&XEN);
break;
case(1):
if(!en)
PIO_Set(&YEN);
else
PIO_Clear(&YEN);
break;
case(2):
if(!en)
PIO_Set(&ZEN);
else
PIO_Clear(&ZEN);
break;
case(3):
if(!en)
PIO_Set(&E0EN);
else
PIO_Clear(&E0EN);
break;
case(4):
if(!en)
PIO_Set(&E1EN);
else
PIO_Clear(&E1EN);
break;
}
}
示例6: vParTestSetLED
void vParTestSetLED( unsigned portBASE_TYPE uxLED, signed portBASE_TYPE xValue )
{
if( uxLED < partestNUM_LEDS ) {
if( xValue ) {
/* Turn the LED on. */
portENTER_CRITICAL();
{
if( xLEDPins[ uxLED ].type == PIO_OUTPUT_0 ) {
PIO_Set( &( xLEDPins[ uxLED ]) );
} else {
PIO_Clear( &( xLEDPins[ uxLED ] ) );
}
}
portEXIT_CRITICAL();
} else {
/* Turn the LED off. */
portENTER_CRITICAL();
{
if( xLEDPins[ uxLED ].type == PIO_OUTPUT_0 ) {
PIO_Clear( &( xLEDPins[ uxLED ] ) );
} else {
PIO_Set( &( xLEDPins[ uxLED ] ) );
}
}
portEXIT_CRITICAL();
}
}
}
示例7: glcd_init
//---------------------------
void glcd_init(void)
{
unsigned int tcmr,tfmr;
unsigned char i;
PIO_Configure(GLcdpins,PIO_LISTSIZE(GLcdpins));
PIO_Configure(sscPins, PIO_LISTSIZE(sscPins));
PIO_Set(&GLcdpins[3]);
PIO_Set(&GLcdpins[4]);
SSC_Configure(AT91C_BASE_SSC,AT91C_ID_SSC,500000,BOARD_MCK);
tcmr=AT91C_SSC_CKS_TK|AT91C_SSC_CKO_DATA_TX|AT91C_SSC_START_CONTINOUS;
tfmr=SSC_DATLEN(8)|SSC_DATNB(15)|SSC_FSLEN(16)|AT91C_SSC_FSOS_LOW|AT91C_SSC_FSDEN ;
SSC_ConfigureTransmitter(AT91C_BASE_SSC,tcmr,tfmr);
SSC_EnableTransmitter(AT91C_BASE_SSC);
PIO_Set(&GLcdpins[5]);
//PIO_Clear(&GLcdpins[5]);
for(i = 0; i < 3; i++);
GLCD_WriteCommand((DISPLAY_ON_CMD | ON), i);
}
示例8: motor_setdir
void motor_setdir(unsigned char axis, unsigned char dir){
switch(axis){
case(0):
if(dir)
PIO_Set(&XDIR);
else
PIO_Clear(&XDIR);
break;
case(1):
if(dir)
PIO_Set(&YDIR);
else
PIO_Clear(&YDIR);
break;
case(2):
if(dir)
PIO_Set(&ZDIR);
else
PIO_Clear(&ZDIR);
break;
case(3):
if(dir)
PIO_Set(&E0DIR);
else
PIO_Clear(&E0DIR);
break;
case(4):
if(dir)
PIO_Set(&E1DIR);
else
PIO_Clear(&E1DIR);
break;
}
}
示例9: GLCD_DisableController
//------------------------
//-------------------------------------------------------------------------------------------------
//
//-------------------------------------------------------------------------------------------------
void GLCD_DisableController(unsigned char controller)
{
switch(controller){
case 0 : PIO_Set(&GLcdpins[4]); break;
case 1 : PIO_Set(&GLcdpins[3]); break;
}
}
示例10: stepper_enable
void stepper_enable(void) {
PIO_Set(&pin_reset);
PIO_Clear(&pin_enable);
PIO_Set(&pin_sleep);
stepper_state = STEPPER_STATE_STOP;
stepper_speedramp_state = STEPPER_SPEEDRAMP_STATE_STOP;
}
示例11: AD5206_sendbit
void AD5206_sendbit(unsigned char bit){
volatile unsigned int uDummy;
for (uDummy=0; uDummy<512; ++uDummy);
PIO_Clear(&SCK);
if(bit)
PIO_Set(&MOSI);
else
PIO_Clear(&MOSI);
for (uDummy=0; uDummy<512; ++uDummy);
PIO_Set(&SCK);
}
示例12: main
int main(void) {
device_init();
init_display();
PIO_Set(&display_pins[0]);
PIO_Clear(&display_pins[1]);
PIO_Clear(&display_pins[2]);
PIO_Set(&display_pins[3]);
while(1){
}
}
示例13: motor_setopts
void motor_setopts(unsigned char axis, unsigned char ustepbits, unsigned char current){
Pin MS1;
Pin MS2;
unsigned char channel;
switch(axis){
case 0:
MS1=XMS1;
MS2=XMS2;
channel=3;
break;
case 1:
MS1=YMS1;
MS2=YMS2;
channel=1;
break;
case 2:
MS1=ZMS1;
MS2=ZMS2;
channel=0;
break;
case 3:
MS1=E0MS1;
MS2=E0MS2;
channel=2;
break;
case 4:
MS1=E1MS1;
MS2=E1MS2;
channel=5;
break;
case 6:
ustepbits=4;
channel=4;
break;
default:
return;
}
if(ustepbits<4){
if(ustepbits&1)
PIO_Set(&MS1);
else
PIO_Clear(&MS1);
if(ustepbits&2)
PIO_Set(&MS2);
else
PIO_Clear(&MS2);
}
AD5206_setchan(channel,current);
//printf("Setting channel %u to current value %u and ustep value %u\r\n",channel, current, ustepbits);
}
示例14: lcd_putchar
// ============================================================================
void lcd_putchar(char ch)
{
PIO_Set(&Lcdpins[0]);
setD4567(ch);
PIO_Set(&Lcdpins[1]);
clcd_minDelay();
PIO_Clear(&Lcdpins[1]);
clcd_minDelay();
setD4567(ch<<4);
PIO_Set(&Lcdpins[1]);
clcd_minDelay();
PIO_Clear(&Lcdpins[1]);
clcd_Delay();
}
示例15: lcd_command
// ============================================================================
void lcd_command(char cmd) //Sends Command to LCD
{
PIO_Clear(&Lcdpins[0]);
setD4567(cmd);
PIO_Set(&Lcdpins[1]);
clcd_minDelay();
PIO_Clear(&Lcdpins[1]);
clcd_minDelay();
setD4567(cmd<<4);
PIO_Set(&Lcdpins[1]);
clcd_minDelay();
PIO_Clear(&Lcdpins[1]);
clcd_Delay();
}