You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					21 lines
				
				579 B
			
		
		
			
		
	
	
					21 lines
				
				579 B
			| 
								 
											6 years ago
										 
									 | 
							
								void puth(unsigned int i);
							 | 
						||
| 
								 | 
							
								void puts(const char *a);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								void dac_init(void) {
							 | 
						||
| 
								 
											6 years ago
										 
									 | 
							
								  // No buffers required since we have an opamp
							 | 
						||
| 
								 | 
							
								  register_set(&(DAC->DHR12R1), 0U, 0xFFFU);
							 | 
						||
| 
								 | 
							
								  register_set(&(DAC->DHR12R2), 0U, 0xFFFU);
							 | 
						||
| 
								 | 
							
								  register_set(&(DAC->CR), DAC_CR_EN1 | DAC_CR_EN2, 0x3FFF3FFFU);
							 | 
						||
| 
								 
											6 years ago
										 
									 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								void dac_set(int channel, uint32_t value) {
							 | 
						||
| 
								 | 
							
								  if (channel == 0) {
							 | 
						||
| 
								 
											6 years ago
										 
									 | 
							
								    register_set(&(DAC->DHR12R1), value, 0xFFFU);
							 | 
						||
| 
								 
											6 years ago
										 
									 | 
							
								  } else if (channel == 1) {
							 | 
						||
| 
								 
											6 years ago
										 
									 | 
							
								    register_set(&(DAC->DHR12R2), value, 0xFFFU);
							 | 
						||
| 
								 
											6 years ago
										 
									 | 
							
								  } else {
							 | 
						||
| 
								 
											6 years ago
										 
									 | 
							
								    puts("Failed to set DAC: invalid channel value: 0x"); puth(value); puts("\n");
							 | 
						||
| 
								 
											6 years ago
										 
									 | 
							
								  }
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 |